我有两个字符串A和B的单元格数组.B的所有单元格也在A中。我想在A中找到B的单元格索引。谢谢。
示例:
A=
'aaaa'
'bbbb'
'cccc'
'dddd'
'ffff'
B=
'ffff'
'aaaa'
ans=
5
1
或
ans=
1
5
答案 0 :(得分:6)
使用intersect
或ismember
[~, idxInA] = intersect(A,B)
或
LocInA = find(ismember(A,B))
答案 1 :(得分:1)
您可以非常简单地使用下面的代码
indices = cell(size(B));
for i = 1:numel(B)
indices{i} = find(strcmpi(A,B(i)));
end
虽然我建议使用ismember
或intersect
,但这些解决方案不会处理不区分大小写的解决方案。此外,这些方法不会指示特定索引匹配的次数,我的解决方案将返回与每次比较匹配的所有索引。
<强>更新强>
我正在运行以测试此代码。
A={'aaaa','bbbb','cccc','dddd','ffff','aaaa'};
B={'ffff','aaaa','cccc','qwerty'};
indices = cell(size(B));
for i = 1:numel(B)
indices{i} = find(strcmpi(A,B(i)));
end
indices
返回以下内容
indices =
[5] [1x2 double] [3] [1x0 double]
我没有看到你遇到问题的地方