如何在matlab中执行此操作;
ismember(file_names,['*.mp4'])
答案 0 :(得分:5)
我会用regexp
来做,就像这样:
result = ~cellfun(@isempty,(regexp(file_names,'\.mp4$')));
例如,
file_names = {'aaa.mp4','bbb.mp3'};
给出
result =
1 0
答案 1 :(得分:3)
使用regexp
:
tf = ~cellfun('isempty', regexp(file_names, '.*\.mp4'));
如果要强制模式匹配文件名的开头或结尾,则应分别添加插入符号(^
)或美元符号($
),例如:< / p>
%// Match pattern at the beginning of the filename
tf = ~cellfun('isempty', regexp(file_names, '^.*\.mp4'));
%// Match pattern at the end of the filename
tf = ~cellfun('isempty', regexp(file_names, '\.mp4$'));
如果您的搜索模式足够简单,则可以改为使用strfind
:
tf = ~cellfun('isempty', strfind(file_names, '.mp4'));
请注意,此方法不允许您搜索更复杂的模式,也不会检查条件(平凡),例如字符串末尾的模式外观......