我曾尝试使用strcmp,但我不知道如何查看单元格数组并仅输出带有该字符串的单元格数组。
例如str ='Hello'
out=["Hello", "my", "name", "is" "sam"]
out=["What", "is", "you", "name"]
out=["Hello", "my", "name", "is" "John"]
我的代码如下
while ~feof(fid)
line=fgetl(fid)
if isempty(line)||strncmp(line, '%',1)||~ischar(line)
continue
end
fprintf(line)
out=regexp(line, '', 'split')
end
我想添加if(str ==“Hello”),只打印出那些数组
输出
["Hello", "my", "name", "is" "sam"]
["Hello", "my", "name", "is" "John"]
答案 0 :(得分:1)
的内容
if any(strcmp('Hello', out))
应该有用。
答案 1 :(得分:1)
使用ismember()
。例如,out = {'Hello', 'my', 'name', 'is', 'sam'};
,则ismember(out, 'Hello')
应为1.您可以查看此讨论http://www.mathworks.com/matlabcentral/newsreader/view_thread/284849
顺便说一下,out=["Hello", "my", "name", "is" "sam"]
不是单元格的表示。它应该是out = {'Hello', 'my', 'name', 'is', 'sam'}