2016-09-15 10 views
0

MATLABの別の文字列内に文字列が存在するかどうかを確認する方法はありますか? Pythonでは、これはaで簡単に行えます。私は索引などを望んでいません。私はちょうどその真実かどうかをチェックしたい。私が見つけた答えは "strcmp"または "strfind"で正規表現です。 regexpはインデックスを返します。 strcmp(a、b)は動作していないようです。私は文字列a = 'ac'と別の文字列b = 'bc_gh_ac'を持っています。そして、もしaがbであるかどうかをチェックしたい。MATLABのStringBにstringAがあります

お問い合わせ

+0

また 'strfind' http://ch.mathworks.com /help/matlab/ref/strfind.html –

+0

はい、これはインデックスを返しますが、stringAがstringBの場合はtrueを返しません。しかし解答は@Daveによって与えられました – Augusti

答えて

3

答えは確かにstrfindです。あなたは最初に珍しいように見えるパラメータの順序に注意する必要があります - パターンは秒の最初の引数ではなく引数です。次のコードは示しています。

a='ac'; 
b='bc_gh_ac'; 
strfind(b,a) 

あなたは、単に文字列は、その後のisEmpty関数を使用する存在であるかどうかをテストする場合:

if ~isempty(strfind(b,a)) 
    disp('String is present'); 
end 
+0

はい、strfindはインデックスを返します。しかし、2番目の解決策、〜isempty()は仕事をしました!それのためのThanx。そして、ある文字列が別の文字列にあれば真を返す組み込み関数がないことは明らかです。 – Augusti

+1

また、インデックスを返さないと、 'strfind()'の周りに 'logical()'をラップすることができます。 – Finn

+0

@ Finnのソリューションは〜isempty(strfind())ソリューションと同様に望ましい結果をもたらしました。しかし、論理的(strfind())は多分もっと良いです。 – Augusti

関連する問題