2015-02-24 4 views
-1

Я пытаюсь обработать список файлов, которые начинаются с той же строки, но только файлы .mat. В моей папке у меня есть лог-файлы с такими именами, как:обрабатывать список с определенным именем и расширением в matlab

CADS3P5Ph1_LKS_20141210_EVAL_103443_001.avi     
CADS3P5Ph1_LKS_20141210_EVAL_103443_001_MeasData.mat 
CADS3P5Ph1_LKS_20141210_EVAL_103443_002.avi     
CADS3P5Ph1_LKS_20141210_EVAL_103443_002_MeasData.mat 
CADS3P5Ph1_LKS_20141210_EVAL_103443_003.avi    
CADS3P5Ph1_LKS_20141210_EVAL_103443_003_MeasData.mat 
CADS3P5Ph1_LKS_20141210_EVAL_104236_001.avi   
CADS3P5Ph1_LKS_20141210_EVAL_104236_001_MeasData.mat 

мне нужно обрабатывать только те файлы, которые имеют ту же метку времени (например, 103443_xxx) Я сделал переменную, глядя с групповым символом

filename = CADS3P5Ph1_LKS_20141210_EVAL_103443_001_MeasData.mat 
general_name = filename(1:end - 17); 
general_name = strcat(general_name,'*',''); 

Так что, когда я реж (general_name), он находит все файлы, которые начинаются с «CADS3P5Ph1_LKS_20141210_EVAL_103443», Как только получить .mat файлы, а не .avi файлы Я попытался

dir(general_name && *.mat) 

Есть ли способ сделать что-то вроде этой работы?

Спасибо!

ответ

0

Использование strcat с general_name и символ подстановки расширений .mat должны работать:

dir(strcat(general_name,'*.mat')) 
+0

спасибо, это сработало! – Mehmet597

+0

потрясающе приветствую вас! –