Я просматриваю множество файлов, и мне нужно удалить «.jpg» из каждого имени.matlab Как удалить .jpg из имени файла
Пример имени файла:
20403y.jpg
но мне просто нужно все имена файлов
20403y
заканчиваются 'у', если это помогает.
Я просматриваю множество файлов, и мне нужно удалить «.jpg» из каждого имени.matlab Как удалить .jpg из имени файла
Пример имени файла:
20403y.jpg
но мне просто нужно все имена файлов
20403y
заканчиваются 'у', если это помогает.
Один из способов с регулярными выражениями:
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'
Спасибо, это прекрасно! – FireSky
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
В этом случае я думаю, что 'regexp' и' strrep' являются предпочтительными, поскольку они могут работать на массивах ячеек ... –
Это не ясно, что вы имеете в виду ... у вас есть имена, хранящиеся в переменной в MATLAB и желает, чтобы удалить " .jpg ", или вы хотите переименовать файлы? –
Да, у меня есть переменная с именем файла, и я хочу удалить .jpg – FireSky