2012-07-31 51 views
0

我想測試一個文件名的擴展名是否在擴展名列表中。在單元格陣列中查找字符串

我試過用單元格數組上的strfind,但沒有看到如何從結果矩陣中得到一個布爾值。

strfind({'tif'; 'jpg'},'jpg') % should give true 
strfind({'tif'; 'jpg'},'bmp') % should give false 

[] 
[1] 

第二的第一個成果,

[] 
[] 

回答

1

所有你需要做的是包裝你原始代碼與任何()

>> any(strcmpi({'tif','jpg'},'jpg')) 

ans = 

    1 

>> any(strcmpi({'tif','jpg'},'bmp')) 

ans = 

    0 
0

我解決它現在使用find:

[~, ~, ext] = fileparts(imageFile); 
    ext = strrep(ext, '.', ''); 
    listOfValidExt = {'tif'; 'jpg'}; 
    indices = find(cellfun(@(x) strcmp(x,ext), listOfValidExt), 1); 
    if ~isempty(indices) 
    ... 
相關問題