2014-02-28 144 views
0

如何在字符串中存在'@'時返回1 else 0的結果。現在,我得到0 0的結果,雖然第二個字符串包含' @」。將一個字符串與數組中的所有元素進行比較

A = {'@'}; 

B = {'http://www.mathworks.com/help/matlab/ref/strcmpi.html', 
'http://www.mathworks.com/help/matlab/ref/[email protected]'}; 

match = strcmpi(A,B) 

輸出: 匹配=

0 
0 

慾望輸出 匹配=

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 
+1

您可能需要使用['strfind'(HTTP:// www.mathworks.com/help/matlab/ref/strfind.html)。 – sgarizvi

回答

2

這可以用來獲得所需的輸出:

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

edit2的任何想法?我得到錯誤的結果 – user3340270

2

你可以使用ismember迭代:

cellfun(@(x)ismember('@',x), B) 
相關問題