【问题标题】:find string in a cell array在元胞数组中查找字符串
【发布时间】:2012-07-31 09:18:20
【问题描述】:

我想测试文件名的扩展名是否在扩展名列表中。

我在元胞数组上使用 strfind 进行了尝试,但没有看到如何从结果矩阵中获取布尔值。

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

第一个结果

[]
[1]

第二个

[]
[]

【问题讨论】:

    标签: string cells


    【解决方案1】:

    您需要做的就是用 any() 包装您的原始代码

    >> any(strcmpi({'tif','jpg'},'jpg'))
    
    ans =
    
         1
    
    >> any(strcmpi({'tif','jpg'},'bmp'))
    
    ans =
    
        0
    

    【讨论】:

      【解决方案2】:

      我现在用 find 解决了它:

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

      【讨论】:

        猜你喜欢
        • 2015-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-27
        • 1970-01-01
        • 1970-01-01
        • 2011-02-07
        相关资源
        最近更新 更多