本記事では、JavaScriptのsplit()メソッドを使用して、文字列を部分文字列の配列に分割する方法を解説します。
JavaScript split()メソッドとは
split()はJavaScriptにおけるString型のメソッドであり、ある文字列を分割して配列に変換します。
文字列.split(セパレータ, limit数値);
セパレータ(separator)とは
セパレータとは、元の文字列のどこで分割されるかを決めます。セパレータには文字列を指定することができますし、正規表現を指定することも可能です。
セパレータを省略した場合は、 split()は元の文字列は分割されず、その文字列が1つだけ入った配列を返します。
limitとは
limitは、0または正の整数で、分割される文字列の数を指定します。そして、split()メソッドは、分割される文字列の数がlimitの数値と等しくなった時点で処理が終了します。
またlimitが0の場合、split()は空の配列を返し、limitが1の場合は、split()は文字列を含む配列を返します。
JavaScriptのsplit()メソッドを使用したコード例
split()メソッドの使用例を以下にいくつか挙げてみました。
文字列を単語に分割する
以下は、split()メソッドを使って、1つの長い文字列を単語に分割するコード例です。
let sampleString1 = 'Hello World JavaScript';
let result = sampleString1.split(' ');
console.log(result);
出力結果は以下の通りです。
['Hello', 'World', 'JavaScript']
上記の例では、「’ ‘」スペース文字によって分割されているため、処理結果の配列には「’ ‘」スペースがありません。
分割文字列の数を制限する
以下は、split()メソッドを使用して、スペース文字を使って文字列を分割するコード例です。
またそれだけでなく、第2引数を使用して、分割された文字列の数を2つに制限しています。
let sampleString2 = 'Hello World JavaScript';
let result = sampleString2.split(' ',2);
console.log(result);
出力結果は以下の通りです。
['Hello', 'World']
正規表現によって文字列を分割する
以下は、split()メソッドを使用して、長い一塊の文を短い文に分割するコード例です。
let longSentence1 = 'Hello World! How are you? My name is Tanaka. Suzuki is my best friend.';
let result = longSentence1.split(/[!,?,.]/);
console.log(result);
出力結果は以下の通りです。
['Hello World', ' How are you', ' My name is Tanaka', ' Suzuki is my best friend', '']
正規表現にキャプチャ用の括弧 () が含まれている場合、 split()メソッドはマッチした結果も配列に含めます。
let longSentence2 = 'Hello World! How are you? My name is Tanaka. Suzuki is my best friend.';
let result = longSentence2.split(/([!,?,.])/);
console.log(result);
上記の出力結果は以下の通りです。
['Hello World', '!', ' How are you', '?', ' My name is Tanaka', '.', ' Suzuki is my best friend', '.', '']
split()メソッドの特徴まとめ
- 文字列をセパレータによって分割し、新しく配列を作る
- 第2引数(limit)で、分割数を制限して返す