Main Content

strncmp

文字列のはじめの n 文字の比較 (大文字と小文字を区別する)

説明

tf = strncmp(s1,s2,n) は、s1s2n 文字まで比較します。この関数は、両者が同一の場合は 1 (true) を返し、そうでない場合は 0 (false) を返します。末尾まで、または最初の n 文字 (いずれか先に到達する方) の内容が同一である場合、これらのテキストは同一と見なされます。返される結果 tf のデータ型は logical です。

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

すべて折りたたむ

2 つの異なる文字ベクトルを作成します。その最初の 11 文字を比較します。

s1 = 'Kansas City, KS';
s2 = 'Kansas City, MO';
tf = strncmp(s1,s2,11)
tf = logical
   1

両方の文字ベクトルが 'Kansas City' で始まるため、tf1 です。

strcmp を使用してこの 2 つの文字ベクトルを比較します。

tf = strcmp(s1,s2)
tf = logical
   0

s1s2 は異なる文字で終わるため、tf0 です。

名前を含む string 配列を作成します。'Jean' で始まる名前を検索します。

s1 = ["Jacques";
      "Jean";
      "Jeanne";
      "Jean-Luc";
      "Julie"];
s2 = "Jean";

tf = strncmp(s1,s2,4)
tf = 5x1 logical array

   0
   1
   1
   1
   0

最初の 4 文字が 'Jean' であるすべての名前について、tf1 となります。

代わりに、関数 startsWith を使用することもできます。

tf = startsWith(s1,s2)
tf = 5x1 logical array

   0
   1
   1
   1
   0

入力引数

すべて折りたたむ

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

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

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

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

データ型: char | cell | string

比較する文字の最大数。整数として指定します。

  • n0 の場合、strncmp は常に 1 を返します。慣例により、文字ベクトルまたは string スカラーの 0 番目の文字は常に '' (00 列の文字配列) とされます。

  • n0 より小さい場合、strncmp はそれを 0 として処理します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力引数

すべて折りたたむ

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

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

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

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

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

ヒント

  • 関数 strncmp は、テキストの比較を想定しています。数値配列に対して使用した場合、strncmp は常に 0 を返します。

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

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

拡張機能

バージョン履歴

R2006a より前に導入