ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

strcmpi

文字列を比較する (大文字と小文字を区別しない)

構文


TF = strcmpi(str,str)
TF = strcmpi(str,C)
TF = strcmpi(C,C)

説明

TF = strcmpi(str,str) は、2 つの文字ベクトルを比較して、等価であるかどうかを調べます。このとき、大文字小文字の違いは無視されます。それぞれの文字ベクトルのサイズと内容が同一である場合、これらの文字ベクトルは等価と見なされます。この関数は、等価であればスカラー論理値 1 を、不等価であればスカラー論理値 0 を返します。

TF = strcmpi(str,C) は、文字ベクトルを文字ベクトルのセル配列の各要素と比較します。このとき、大文字小文字の違いは無視されます。この関数は、入力 C と同じサイズの論理配列を返し、論理値 1 が等価を表します。このとき、入力引数の順番は重要ではありません。

TF = strcmpi(C,C) は、一方の文字ベクトルのセル配列の各要素をもう一方の同じ要素と比較します。このとき、大文字小文字の違いは無視されます。関数からは、入力配列と同じサイズの論理配列が返されます。

入力引数

str

文字ベクトルまたは m 行 n 列の文字配列。

C

文字ベクトルのセル配列。

出力引数

TF

両方の入力が文字配列の場合、TF はスカラー論理値です。両方の配列のサイズとコンテンツが等しい場合、この値は論理値 1 (true) で、等しくない場合は、論理値 0 (false) です。

入力の一方または両方が文字ベクトルのセル配列である場合、TF は論理値 1 と 0 の配列です。この配列は入力セル配列と同じサイズであり、一致する入力配列の要素に論理値 1 (true) を、一致しない要素に論理値 0 (false) を返します。

2 つの文字ベクトルの簡単な比較を、大文字小文字を区別して実行します。

strcmpi('Yes', 'No')
ans =
     0
strcmpi('Yes', 'yes')
ans =
     1

文字ベクトルのセル配列を 2 つ作成し、strcmpi を呼び出してこれらを比較します。

A = {'Handle Graphics', 'Statistics';   ...
     '  Toolboxes', 'MathWorks'};

B = {'Handle Graphics', 'Signal Processing';    ...
     'Toolboxes', 'MATHWORKS'};
match = strcmpi(A, B)
match =
     1     0
     0     1

2 つのセル配列を比較した結果は、以下のとおりです。

  • A{1,1} の "Handle Graphics" が B{1,1} の同じテキストと一致するので、match{1,1} は 1 です。

  • A{1,2} の "Statistics" が B{1,2} の "Signal Processing" と一致しないので、match{1,2} は 0 です。

  • A{2,1} の " Toolboxes" に、B{2,1} にない先頭の空白文字が含まれているので、match{2,1} は 0 です。

  • A{2,2} 内の "MathWorks"が B{2,2} 内の "MATHWORKS" と異なる文字を使っていても、strcmpi は、大文字と小文字を区別せずに比較を行うので、match{2,2} は 1 です。

詳細

すべて折りたたむ

ヒント

  • 関数 strcmpi は、文字データの比較を想定しています。数値データの比較に使用する場合、論理値 0 を返します。

  • 大文字小文字を区別してテキストを比較する場合は、strcmp を使用します。

  • 両方の文字ベクトルの先頭と末尾の空白は、明示的に比較対象に含まれます。

  • 関数 strcmpi が返す値は、C 言語で通常使用される値とは異なります。

  • strcmpi は、国際文字セットをサポートします。

R2006a より前に導入

この情報は役に立ちましたか?