按某个字符串值过滤单元格数组

时间:2013-01-15 16:39:40

标签: matlab

我有一个单元格数组,如下所示:

A = 

    '5523'    '2012-10-26'    '23'    'T'    '17.7'
    '5513'    '2012-10-26'    '23'    'T'    '22.1'
    '5506'    '2012-10-26'    '23'    'C'    '16.2'

现在我想过滤所有T的记录。所以我想得到这个数组:

A = 

    '5523'    '2012-10-26'    '23'    'T'    '17.7'
    '5513'    '2012-10-26'    '23'    'T'    '22.1'

我可以解析所有数组,但还有其他方法吗?

1 个答案:

答案 0 :(得分:6)

这是一个单行代码:

A = A(strcmp(A(:,4), 'T'), :);

内部部分strcmp(A(:,4), 'T')将所有行的第4列与'T'进行比较。然后,该布尔向量可以使用逻辑索引从A中提取匹配的行。