[JavaScript] 文字列の分割 - split()

スポンサーリンク

JavaScriptで文字列を分割する場合はsplit()メソッドを使います。

第2引数に区切り文字を指定し、第3引数に分割上限数を指定します。 戻り値は区切り文字で分割された配列です。

一文字で分割する

特定文字、カンマ、スペースで分割

特定の文字で分割する場合は、その特定文字を指定します。 カンマの場合は「","」、スペースの場合は「" "」を指定。


// "x" で分割
let s = "abcxdefxghi";
let arr = s.split("x");
console.log(arr);  // [ 'abc', 'def', 'ghi' ]

// カンマで分割
let s2 = "a,b,c,d,e";
let arr2 = s2.split(",");
console.log(arr2);  // [ 'a', 'b', 'c', 'd', 'e' ]

// スペースで分割
let  s3= "f g h i j";
let arr3 = s3.split(" ") ;
console.log(arr3);  // [ 'f', 'g', 'h', 'i', 'j' ]

タブ、改行で分割

タブの場合は「"\t"」、改行の場合は「"\n"」を指定します。


// タブ "\t" で分割
let s = "a\tb\tc";
let arr = s.split("\t");
console.log(arr);  // [ 'a', 'b', 'c' ]

// 改行 "\n" で分割
let s2 = "a\nb\nc";
let arr2 = s2.split("\n");
console.log(arr2);  // [ 'a', 'b', 'c' ]

文字列で分割

単一文字ではなく文字列で分割する場合も、 同じように分割したい文字列を指定します。 下のサンプルコードの場合、文字列「"abc"」で分割しています。


// 文字列 で分割
let s = "012xyz345xyz678";
let arr = s.split("xyz");
console.log(arr);  // [ '012', '345', '678' ]

分割する数を指定する

split()メソッドの第2引数で分割する数を指定することもできます。 次のサンプルコードでは、第2引数に「3」を指定しました。 その結果、最初の3つだけが返されます。


// カンマで分割  最初の3つだけ
let s = "a,b,c,d,e";
let arr = s.split(",", 3);
console.log(arr);  // [ 'a', 'b', 'c' ]

正規表現で分割する

split()メソッドの引数に正規表現を指定することもできます。 次のコードはスペースを正規表現で表しています。


// スペース(正規表現)で分割
let s = "a b c d e";
let arr = s.split(/\s/);
console.log(arr);  // [ 'a', 'b', 'c', 'd', 'e' ]

テキストを改行(正規表現)で分割する

textarea等に入力された長いテキスト文章を改行で分割することもできます。 改行コードが「\n」でも「\r\n」でもどちらでも対応できるように 正規表現で記述します。


let str = `1行目
2行目
3行目`;

// 改行で分割(正規表現)
let arr = str.split(/\r?\n/);

for (let i = 0; i < arr.length; i++) {
	 console.log(arr[i]);
}

実行結果

1行目
2行目
3行目