strcmpi
文字列を比較する (大文字と小文字を区別しない)
説明
例
大文字小文字を区別せずに 2 つの文字ベクトルを比較
2 つの異なる文字ベクトルを比較します。大文字小文字の違いは無視します。
s1 = 'Yes'; s2 = 'No'; tf = strcmpi(s1,s2)
tf = logical
0
大文字小文字の区別を無視しても s1
と s2
は等しくないため、strcmpi
は 0
を返します。
2 つの等しい文字ベクトルを比較します。
s1 = 'Yes'; s2 = 'yes'; tf = strcmpi(s1,s2)
tf = logical
1
大文字小文字の区別を無視すれば s1
と s2
は等しいため、strcmpi
は 1
を返します。
cell 配列内の一致を大文字小文字を区別せずに検索
文字ベクトルの cell 配列内で、'once'
という語と一致するテキストを検索します。大文字小文字の区別を無視します。
s1 = 'once'; s2 = {'Once','upon'; 'a','time'}; tf = strcmpi(s1,s2)
tf = 2x2 logical array
1 0
0 0
大文字小文字の区別を無視した場合、s1
は配列 s2
の中で 1 回発生しており、その発生箇所は要素 s2(1,1)
です。
大文字小文字の区別を無視した cell 配列の比較
文字ベクトルの cell 配列を 2 つ作成します。大文字と小文字の区別を無視してこれらを比較するには、関数 strcmpi
を使用します。
s1 = {'Tinker', 'Tailor'; ' Soldier', 'Spy'}; s2 = {'Tinker', 'Baker'; 'Soldier', 'SPY'}; tf = strcmpi(s1,s2)
tf = 2x2 logical array
1 0
0 1
'Tinker'
が両方の配列の最初の cell にあるため、tf(1,1)
は 1
です。'Spy'
と 'SPY'
は大文字と小文字の違いしかないため、tf(2,2)
は 1
です。s1(2,1)
の ' Soldier'
には空白文字があり、s2(2,1)
の 'Soldier'
にはないため、tf(2,1)
は 0
です。
大文字小文字の区別を無視した string 配列の比較
strcmpi
を使用し、大文字と小文字の区別を無視して 2 つの string 配列を比較します。
s1 = ["A","bc"; "def","G"]; s2 = ["B","c"; "DEF","G"]; tf = strcmpi(s1,s2)
tf = 2x2 logical array
0 0
1 1
入力引数
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 つの入力が複数行の文字配列で、もう一方の入力がスカラー cell または string スカラーのいずれかである場合、
tf
はn
行1
列の配列です。n
は文字配列の行数です。両方の入力が文字配列の場合、
tf
はスカラーです。
ヒント
関数
strcmpi
は、テキストの比較を想定しています。サポートされていないデータ型に対して使用した場合、strcmpi
は常に0
を返します。大文字小文字を区別してテキストを比較する場合は、
strcmpi
ではなくstrcmp
を使用します。strcmpi
は C 関数と名前が共通していますが、テキスト入力が一致した場合に0
を返すという C 言語の規則には従いません。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
列挙型入力はサポートされません。
char
クラスからの入力値は 0 ~ 127 の範囲内でなければなりません。ある入力が 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)