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をスラッシュで分割して、配列の最後の要素を取得する。というロジックです。