我有一个有4列和大约的单元格数组。 2000行。在第二列中有一些字符串值。我需要在有一些文本的地方获取这些值的行号。我所能做的就是得到一个返回的逻辑向量,这不是我所追求的。
ID New ID
123
956
987 655
321 656
987
144 329
所以我想要一个能够返回行号的矢量[3,4,6]。
答案 0 :(得分:3)
只需按find
将逻辑索引转换为数字索引。
index = find(~cellfun(@isempty, array(:, 2)))
答案 1 :(得分:1)
如果您要查找第二列中包含某些文本(字符串)的行,可以使用ischar
并检查所有第二列条目。
<强>代码强>
%%// Create some random cell array for demo
cell_array1 = cell(4,2);
cell_array1(:,1) = {34,45,22,12};
cell_array1(:,2) = {'hmm',45,'say',12}
%%// Required row indices
ind = find(cellfun(@ischar, cell_array1(:, 2)))
<强>输出强>
cell_array1 =
[34] 'hmm'
[45] [ 45]
[22] 'say'
[12] [ 12]
ind =
1
3