删除单元格数组中包含字符的行

时间:2017-08-17 19:42:40

标签: matlab cell-array strncmp

我需要一些基本的帮助。我有一个单元格数组:

  1. TITLE 13122423
  2. NAME Bob
  3. PROVIDER James
  4. 以及更多带文字的行......

    1. 234 456 234 345
    2. 324 346 234 345
    3. 344 454 462 435
    4. 和许多MANY(> 4000)只有数字

      1. 文本
      2. 文本
      3. 以及更多文字和混合条目

        现在我想要删除第一列包含字符的所有行,最后只包含那些包含数字的行。在这个例子中,第44-46行。

        我尝试使用

        rawdataTruncated(strncmp(rawdataTruncated(:,1),'A',1),:) = [];

        然后我需要完整的字母表,对吧?

1 个答案:

答案 0 :(得分:2)

给出表格的数据:

C = {'FIRSTX'   '350.0000' ''        ''        ; ...
     '350.0000' '0.226885' '254.409' '0.755055'; ...
     '349.9500' '0.214335' '254.41'  '0.755073'; ...
     '250.0000' 'LASTX'    ''        ''        };

您可以使用isstrpropcellfunany删除包含字母字符串的任何行,如下所示:

index = ~any(cellfun(@any, isstrprop(C, 'alpha')), 2);
C = C(index, :)

C =
  2×4 cell array

    '350.0000'    '0.226885'    '254.409'    '0.755055'
    '349.9500'    '0.214335'    '254.41'     '0.755073'