如果字符串中存在'@',则如何得到结果将返回1,否则为0.现在,我得到0 0的结果,尽管第二个字符串包含'@'字符。
A = {'@'};
B = {'http://www.mathworks.com/help/matlab/ref/strcmpi.html',
'http://www.mathworks.com/help/matlab/ref/strcmpi@dfvfv.html'};
match = strcmpi(A,B)
输出: match =
0
0
欲望输出 match =
0
1
EDIT2:
为什么我使用与上面相同的概念,但我得到了错误的结果?我想检查存储在'data14'中的文件是否有'javascript'和& 'disableclick'同时。但结果让我全都'1'。
for i = 1:4
A14 = {'javascript'};
B14 = {'disableclick'};
data14 = importdata(strcat('f14data/f14_data', int2str(i)));
feature14_data=any(cellfun(@(n) isempty(n), strfind(data14, A14{1}))) & any(cellfun(@(n) isempty(n), strfind(data14, B14{1})))
feature14(i)=feature14_data
end
答案 0 :(得分:2)
这可用于获得所需的输出:
cellfun(@(n) ~isempty(n), strfind(B, A{1}))
答案 1 :(得分:2)
您可以迭代地使用ismember
:
cellfun(@(x)ismember('@',x), B)