Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何在MATLAB中通过将字符串与另一个字符串进行比较来搜索单元格数组中的字符串?_String_Matlab_Compare - Fatal编程技术网

String 如何在MATLAB中通过将字符串与另一个字符串进行比较来搜索单元格数组中的字符串?

String 如何在MATLAB中通过将字符串与另一个字符串进行比较来搜索单元格数组中的字符串?,string,matlab,compare,String,Matlab,Compare,我曾尝试使用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(li

我曾尝试使用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"]

类似于

if any(strcmp('Hello', out))
应该有用。

使用
ismember()
。例如,
out={'Hello','my','name','is','sam'}
,然后
ismember(out'Hello')
应该是1。您可以查看此讨论


顺便说一下,
out=[“你好”、“我的”、“名字”、“是”“萨姆”]
不是单元格的表示形式。它应该是
out={'Hello','my','name','is','sam'}

谢谢你,这些真的很有帮助,我的代码正常工作了,谢谢。您知道如何忽略数组中的逗号吗。如果字符串中有逗号,当我使用ismember(out,'Hello')时,它不会用逗号打印包含Hello的句子,还有如何忽略大写字母letters@Samira您可以使用此函数“isstrprop”来确定字符串是否属于指定类别,以删除逗号等特殊字符。请查看此链接:谢谢@tqjustc,我真的很感激。:)