ファイル名の拡張子が拡張子のリストにあるかどうかをテストしたい。
セル配列で strfind を使用して試しましたが、結果の行列からブール値を取得する方法がわかりません。
strfind({'tif'; 'jpg'},'jpg') % should give true
strfind({'tif'; 'jpg'},'bmp') % should give false
最初の結果
[]
[1]
2番目の
[]
[]
元のコードを any() でラップするだけです
>> any(strcmpi({'tif','jpg'},'jpg'))
ans =
1
>> any(strcmpi({'tif','jpg'},'bmp'))
ans =
0
findを使用して解決しました:
[~, ~, ext] = fileparts(imageFile);
ext = strrep(ext, '.', '');
listOfValidExt = {'tif'; 'jpg'};
indices = find(cellfun(@(x) strcmp(x,ext), listOfValidExt), 1);
if ~isempty(indices)
...