1

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"]
4

2 に答える 2

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'}

于 2013-03-15T17:04:55.727 に答える
1

の線に沿った何か

if any(strcmp('Hello', out))

役立つはずです。

于 2013-03-15T15:53:16.123 に答える