Main Content

strcmp

説明

tf = strcmp(s1,s2) は、s1s2 を比較し、両者が同一の場合は 1 (true) を返し、そうでない場合は 0 (false) を返します。テキストのサイズと内容が同一である場合、これらのテキストは同一と見なされます。返される結果 tf のデータ型は logical です。

入力引数には、string 配列、文字ベクトル、および文字ベクトルの cell 配列を任意に組み合わせることができます。

すべて折りたたむ

2 つの異なる文字ベクトルを比較します。

s1 = 'Yes';
s2 = 'No';
tf = strcmp(s1,s2)
tf = logical
   0

s1s2 が等しくないため、strcmp0 を返します。

2 つの等しい文字ベクトルを比較します。

s1 = 'Yes';
s2 = 'Yes';
tf = strcmp(s1,s2)
tf = logical
   1

s1s2 が等しいため、strcmp1 を返します。

文字ベクトルの cell 配列で、'upon' という語を検索します。

s1 = 'upon';
s2 = {'Once','upon';
      'a','time'};
tf = strcmp(s1,s2)
tf = 2x2 logical array

   0   1
   0   0

配列 s2 での s1 の出現は 1 回のみで、要素 s2(1,2) で出現します。

2 つの文字ベクトルの cell 配列の各要素を比較します。

s1 = {'Time','flies','when';
      'you''re','having','fun.'};
s2 = {'Time','drags','when';
      'you''re','anxiously','waiting.'};
tf = strcmp(s1,s2)
tf = 2x3 logical array

   1   0   1
   1   0   0

s1s2 には、等しい要素のインスタンスが 3 つあります。これらは、インデックス (1,1) にある 'Time'、インデックス (1,3) にある 'when' およびインデックス (2,1) にある 'you''re' です。

string 配列は strcmp を使用して比較します。

s1 = ["A","bc";
      "def","G"];
s2 = ["B","c";
      "def","G"];

tf = strcmp(s1,s2)
tf = 2x2 logical array

   0   0
   1   1

数値配列の場合と同様に、関係演算子を使用して string 配列の比較と並べ替えを行うことができます。

== を使用して、2 つの string 配列でどの要素が等しいかを判別します。

s1 == s2
ans = 2x2 logical array

   0   0
   1   1

< を使用して、s1 の要素のうち、ASCII 辞書順で s2 の対応する要素より小さいものを判別します。

s1 < s2
ans = 2x2 logical array

   1   1
   0   0

入力引数

すべて折りたたむ

入力テキスト。各入力は、文字ベクトル、文字配列、文字ベクトルの cell 配列または string 配列として指定します。入力の順番は比較の結果に影響しません。

  • s1s2 が両方とも string 配列または文字ベクトルの cell 配列の場合、一方がスカラーでない限り、s1s2 は同じサイズでなければなりません。

  • s1s2 が両方とも複数行の文字配列である場合、s1s2 は異なる行数をもつことができます。

  • 文字ベクトルの非スカラー cell 配列または string 配列を複数行の文字配列と比較する場合、その cell 配列または string 配列は、文字配列と同じ行数の列ベクトルでなければなりません。

データ型: char | cell | string

出力引数

すべて折りたたむ

true または false の結果。データ型 logical1 または 0 として返されます。

  • 各入力が string スカラー、スカラー cell、または文字ベクトルのいずれかである場合、tf はスカラーです。

  • 少なくとも 1 つの入力が string 配列または文字ベクトルの cell 配列のいずれかである場合、tf はその入力配列と同じサイズの配列になります。

  • 1 つの入力が複数行の文字配列で、もう一方の入力がスカラー cell または string スカラーのいずれかである場合、tfn1 列の配列です。n は文字配列の行数です。

  • 両方の入力が文字配列の場合、tf はスカラーです。

ヒント

  • 関数 strcmp は、テキストの比較を想定しています。サポートされていないデータ型に対して使用した場合、strcmp は常に 0 を返します。

  • 大文字小文字を区別せずにテキストを比較する場合は、strcmp ではなく strcmpi を使用します。

  • strcmp は C 関数と名前が共通していますが、テキスト入力が一致した場合に 0 を返すという C 言語の規則には従いません。

  • string 配列では、strcmp の代わりに関係演算子 (==~=<><=>=) を使用できます。数値配列の場合と同様に、string 配列の比較と並べ替えを行うことができます。

拡張機能

バージョン履歴

R2006a より前に導入