MATLAB で文字列を連結する

Ammar Ali 2022年1月20日
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 番目の出力は二重引用符のため文字列形式です。

著者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

関連記事 - MATLAB String