我正在循环浏览很多文件,我需要从每个名称中删除“.jpg”。
示例文件名:
20403y.jpg
但我只需要
20403y
如果有帮助,所有文件名都以“y”结尾。
一种方法是使用正则表达式:
filename = 'myfilename.jpg';
pattern = '.jpg';
replacement = '';
regexprep(filename,pattern,replacement)
结果:
ans =
myfilename
如果您在元胞数组中有文件名,请将元胞数组馈送到regexprep
. 正如文档所解释的,“如果 str 是一个字符串元胞数组,那么 regexprep 返回值 s 始终是一个与 str 具有相同维度的字符串元胞数组。”
例子:
myfilenames = {'myfilename.jpg' 'afilename.jpg' 'anotherfilename.jpg' };
newfilenames= regexprep(myfilenames,'.jpg','');
结果:
newfilenames =
'myfilename' 'afilename' 'anotherfilename'
files = dir('*y.jpg');
% Loop through each
for id = 1:length(files)
% Get the file name (minus the extension)
[p, f] = fileparts(files(id).name); % f will just give you file name
% Use following to rename the files
% I think you don't want to rename them
% movefile(files(id).name, f);
end