MATLAB で文字列を連結する
このチュートリアルでは、Matlab の関数 strcat()
を使用した文字列の連結について説明します。
MATLAB で strcat()
関数を使用して文字列を連結する
2つの文字列を比較するには、Matlab の組み込み関数 strcat()
を使用できます。連結する文字列を関数内に渡して、それらを連結する必要があります。たとえば、2つの文字列を作成し、Matlab の関数 strcat()
を使用してそれらを結合してみましょう。以下のコードを参照してください。
clc
s1 = "Hello"
s2 = "World"
s3 = strcat(s1,s2)
出力:
s1 =
"Hello"
s2 =
"World"
s3 =
"HelloWorld"
出力では、2つの文字列 s1 と s2 が連結され、s3 に保存されています。strcat()
関数を使用して、2つのセル配列を連結することもできます。セル配列の場合、関数は最初のセル配列の最初のエントリを 2 番目のセル配列の最初のエントリと結合し、最初のセル配列の 2 番目のエントリを 2 番目のセル配列の 2 番目のエントリと結合します。たとえば、文字列を含む 2つのセル配列を作成し、strcat()
関数を使用してそれらを連結してみましょう。以下のコードを参照してください。
clc
s1 = {'Hello', 'Day'};
s2 = {'World', '10'};
s3 = strcat(s1,s2)
出力:
s3 =
1×2 cell array
{'HelloWorld'} {'Day10'}
各セル配列には 2つの要素があるため、変数 s3 には出力に 2つの要素が含まれます。セル配列は同じサイズである必要があります。そうしないと、エラーが発生します。ご覧のとおり、連結時に文字列の間にスペースはありませんが、スペースを含む 3 番目のセル配列を使用して配置できます。たとえば、3 番目のセル配列を使用して上記の文字列の間にペースを入れましょう。以下のコードを参照してください。
clc
s1 = {'Hello', 'Day'};
s2 = {'World', '10'};
space = {' '};
s3 = strcat(s1,space,s2)
出力:
s3 =
1×2 cell array
{'Hello World'} {'Day 10'}
出力では、2つの文字列の間にスペースがあります。カンマやピリオドなど、2つの文字列の間に任意の文字列を配置できます。文字列 s1 または s2 の中に、別々に配置する代わりにスペースを配置することもできます。strcat()
関数の代わりに+ 演算子を使用して 2つの文字列を連結することもできますが、文字列を定義するには必ず二重引用符を使用してください。それ以外の場合、文字列を一重引用符で定義すると、Matlab はそれらを文字ベクトルと見なすため、結果は数値になります。たとえば、二重引用符を使用して 2つの文字列を定義し、一重引用符を使用して 2つの文字列を定義し、+ 演算子を使用してそれらを連結します。以下のコードを参照してください。
clc
s1 = 'Hello';
s2 = 'World';
s3 = s1+s2
ss1 = "Hello";
ss2 = "World";
ss3 = ss1+ss2
出力:
s3 =
159 212 222 216 211
ss3 =
"HelloWorld"
最初の出力は一重引用符のため数値ですが、2 番目の出力は二重引用符のため文字列形式です。