0

ファイル名の拡張子が拡張子のリストにあるかどうかをテストしたい。

セル配列で strfind を使用して試しましたが、結果の行列からブール値を取得する方法がわかりません。

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

最初の結果

[]
[1]

2番目の

[]
[]
4

2 に答える 2

1

元のコードを any() でラップするだけです

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

ans =

     1

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

ans =

    0
于 2012-08-02T06:28:04.607 に答える
0

findを使用して解決しました:

    [~, ~, ext] = fileparts(imageFile);
    ext = strrep(ext, '.', '');
    listOfValidExt = {'tif'; 'jpg'};
    indices = find(cellfun(@(x) strcmp(x,ext), listOfValidExt), 1);
    if ~isempty(indices)
    ...
于 2012-07-31T11:08:42.550 に答える