JavaScript: 文字列を分割する: split()

文字列を任意の文字で分割する場合はsplit()メソッドを使用します。 戻り値は指定文字で分割された配列です。

書式


str.split('分割文字'[, 分割上限数])

分割文字は文字通り分割対象となる文字です。 例えば「a」で分割するなら'a'、タブ文字で分割するなら'\t'と記述します。

分割上限数は戻り値として戻す配列の上限数です。 「3」と指定した場合は、最初の3つの配列を戻り値として返します。

split() コード例


// カンマで分割
var arr = str.split(',');

// タブで分割
var arr = str.split('\t');

// タブ分割で上限数3
var arr = str.split('\t', 3);

応用として、メソッドチェーンを使うことで次のような操作もできます。


// カンマで分割された配列の先頭の値だけを取得
var re = str.split(',').shift();

// カンマで分割された配列の末尾の値だけを取得
var re = str.split(',').pop();

分割上限数なしの場合

通常は分割上限数がない場合が多いと思います。その場合は次のように全ての配列を返します。


var str = 'a,b,c,d,e';
var arr = str.split(',');
console.log(arr);  // Array [ "a", "b", "c", "d", "e" ]

分割上限数ありの場合

次のように指定した数の配列を返します。


var str = 'a,b,c,d,e';
var arr = str.split(',', 3);
console.log(arr);  // Array [ "a", "b", "c" ]

正規表現で分割する

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


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

split()を使って、現在のファイル名を取得する

次の方法で現在のファイル名を取得できます。


var url = window.location.href;
var str = url.split('/').pop();

urlをスラッシュで分割して、配列の最後の要素を取得する。というロジックです。

JavaScript入門