将一个字符串与数组的所有元素进行比较

时间:2014-02-28 06:48:45

标签: string matlab

如果字符串中存在'@',则如何得到结果将返回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

2 个答案:

答案 0 :(得分:2)

这可用于获得所需的输出:

cellfun(@(n) ~isempty(n), strfind(B, A{1}))

答案 1 :(得分:2)

您可以迭代地使用ismember

 cellfun(@(x)ismember('@',x), B)