1

私は多くのファイルをループしており、それぞれの名前から「.jpg」を削除する必要があります。

ファイル名の例:

20403y.jpg 

しかし、私はちょうど必要です

20403y

それが役立つ場合、すべてのファイル名は「y」で終わります。

4

2 に答える 2

5

1 つの方法は、正規表現を使用することです。

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 に答える