1

我正在循环浏览很多文件,我需要从每个名称中删除“.jpg”。

示例文件名:

20403y.jpg 

但我只需要

20403y

如果有帮助,所有文件名都以“y”结尾。

4

2 回答 2

5

一种方法是使用正则表达式:

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'
于 2013-09-07T21:18:40.747 回答
0
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
于 2013-09-07T21:21:38.887 回答