strcmp
文字列の比較
説明
例
2 つの文字ベクトルを比較
2 つの異なる文字ベクトルを比較します。
s1 = 'Yes'; s2 = 'No'; tf = strcmp(s1,s2)
tf = logical
0
s1
と s2
が等しくないため、strcmp
は 0
を返します。
2 つの等しい文字ベクトルを比較します。
s1 = 'Yes'; s2 = 'Yes'; tf = strcmp(s1,s2)
tf = logical
1
s1
と s2
が等しいため、strcmp
は 1
を返します。
cell 配列内のテキストを検索
文字ベクトルの 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 配列を比較
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
s1
と s2
には、等しい要素のインスタンスが 3 つあります。これらは、インデックス (1,1)
にある 'Time'
、インデックス (1,3)
にある 'when'
およびインデックス (2,1)
にある 'you''re'
です。
string 配列の比較
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
入力引数
s1,s2
— 入力テキスト
文字ベクトル | 文字配列 | 文字ベクトルの cell 配列 | string 配列
入力テキスト。各入力は、文字ベクトル、文字配列、文字ベクトルの cell 配列または string 配列として指定します。入力の順番は比較の結果に影響しません。
s1
とs2
が両方とも string 配列または文字ベクトルの cell 配列の場合、一方がスカラーでない限り、s1
とs2
は同じサイズでなければなりません。s1
とs2
が両方とも複数行の文字配列である場合、s1
とs2
は異なる行数をもつことができます。文字ベクトルの非スカラー cell 配列または string 配列を複数行の文字配列と比較する場合、その cell 配列または string 配列は、文字配列と同じ行数の列ベクトルでなければなりません。
データ型: char
| cell
| string
出力引数
tf
— true または false の結果
1
| 0
| logical 配列
true または false の結果。データ型 logical
の 1
または 0
として返されます。
各入力が string スカラー、スカラー セル、または文字ベクトルのいずれかである場合、
tf
はスカラーです。少なくとも 1 つの入力が string 配列または文字ベクトルの cell 配列のいずれかである場合、
tf
はその入力配列と同じサイズの配列になります。1 つの入力が複数行の文字配列で、もう一方の入力がスカラー セルまたは string スカラーのいずれかである場合、
tf
はn
行1
列の配列です。n
は文字配列の行数です。両方の入力が文字配列の場合、
tf
はスカラーです。
ヒント
関数
strcmp
は、テキストの比較を想定しています。サポートされていないデータ型に対して使用した場合、strcmp
は常に0
を返します。大文字小文字を区別せずにテキストを比較する場合は、
strcmp
ではなくstrcmpi
を使用します。strcmp
は C 関数と名前が共通していますが、テキスト入力が一致した場合に0
を返すという C 言語の規則には従いません。string 配列では、
strcmp
の代わりに関係演算子 (==
、~=
、<
、>
、<=
、>=
) を使用できます。数値配列の場合と同様に、string 配列の比較と並べ替えを行うことができます。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
列挙型入力はサポートされません。
ある入力が cell 配列で、別の入力が文字配列の場合、この文字配列はコンパイル時の行ベクトルでなければなりません。
両方の入力が空の文字配列で、サイズが異なっている場合、生成されたコードは
true
を返します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
入力は string 配列または文字ベクトルの cell 配列でなければなりません。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)