JavaScript | split()で文字列を区切り文字で分割して配列に代入する方法

2021-06-28JavaScript 配列,JavaScript

JavaScript | split()で文字列を区切り文字で分割して配列に代入する方法

JavaScriptのsplitメソッドを利用して文字列を区切り文字または文字列で分割して配列に代入する方法です。

改行コードでの分割や、複数の区切り文字での分割、最大分割数を指定した分割方法も紹介しています。

split()の基本は以下のようになっています。

対象の文字列.split(区切り文字)

split()は生成された配列が返り値として返され、元の文字列に変更はありません。

また、第二引数には最大分割数の制限を指定することが可能となっています。

splitメソッドは正規表現の指定が可能です。

split()で文字列を分割する

サンプルでは文字列に含まれるカンマを区切り文字として分割して配列に格納するコードを紹介します。

let text = `apple,pine,grape`;
let array = text.split(',');

//["apple", "pine", "grape"]

上記のサンプルコードでは文字列はカンマで区切られて「array」には以下の配列が格納されます。

split()で最大分割数を指定して文字列を分割する

第二引数に最大分割数を指定して文字列を分割するサンプルコードです。

分割数は配列の値になる数として計算して問題ありません。(1の場合は1つ)

let text = `apple,pine,grape,orange`;
let array = text.split(',', 2);

//["apple", "pine"]

上記のサンプルコードでは文字列は指定した分割数分がカンマで区切られて「array」には以下の配列が格納されます。

指定した最大分割数を超える分の文字列は配列の値に含まれません。

split()で改行コードを区切り文字にして文章を分割する

文字列に含まれる改行コードを区切り文字の対象にして文字列(文章)を行で分割する場合は正規表現を利用します。

※JavaScriptで改行しながら文字列を記述する方法のひとつとして文字列を「`」で囲んでいます(shift + @)。

※このサンプルで指定している改行コードは「\n」としています。

let text = `おはよう
こんにちわ
こんばんわ`;
let array = text.split(/\n/);

//["おはよう", "こんにちわ", "こんばんわ"]

上記のサンプルコードでは文字列は改行コードで区切られて「array」には以下の配列が格納されます。

複数の区切り文字を指定して分割する

split()は正規表現が使えますので複数の区切り文字を指定することが可能となっています。

正規表現で区切り文字を複数指定する場合は、「|」で区切ることで指定可能です。

let text = `apple,pine@grape@orange`;
let array = text.split(/,|@/);

//["apple", "pine", "grape", "orange"]

上記のサンプルコードでは文字列は「カンマ」でも「@」でも区切られて「array」には以下の配列が格納されます。

サンプルでは区切り文字を2つにしていますが、指定できる区切り文字の数に制限はありません。