2015-03-11 4 views
0

MATLAB Я пытаюсь найти список JPG файлов, но и с помощью filesep (сломать имена файлов) в одной строкереж и filesep

dir([folder,[filesep '*.' 'jpg']]). 

Вышеприведенные команда работает для меня. Но я также хочу, чтобы найти файлы, которые содержат в своем названии определенное слово как «синий» но когда я попытался использовать

dir([folder,[filesep '*.' '*blue*jpg']]) 

она не работала, программа не находит файлы на всех , Есть ли способ сделать это в одной строке? Спасибо.

ответ

1

Вы хотите использовать dir([folder,[filesep '*blue*.jpg']]) или просто dir([folder filesep '*blue*.jpg']).


Просто чтобы быть ясно, то * характер выступает в качестве «шаблона». Он может представлять ноль или более символов любого типа.

*.jpg находит все файлы .jpg, потому что * разрешает имя файла перед расширением быть чем угодно.

red*.jpg находит все .jpg файлы, начинающиеся с red, например redhouse.jpg или redflower.jpg.

*green.jpg находит все файлы .jpg заканчивая green, как grassgreen.jpg или darkgreen.jpg

*blue*.jpg находит все файлы .jpg, содержащие слово blue, как skyblue.jpg, bluecar.jpg или mybluebox.jpg.

Что вы используете сейчас, dir([folder,[filesep '*.' '*blue*jpg']]) найдет файлы, такие как something.BLAHblueBLEHjpg.

+0

Спасибо! Оно работает! –

3

Почему бы вам не использовать fullfile? Эта команда позаботится о вас filesep:

dir(fullfile(folder, '*blue*.jpg')); 
+1

Благодарим вас за предложение. Я не знал об этой команде. –