文字列を正規表現を使った区切り文字で分割する(String.prototype.split)

String オブジェクトのインスタンスメソッドである split は、文字列を指定の区切り文字で分割し、要素としてそれぞれ格納した配列を戻り値として返しますが、区切り文字に正規表現のパターンを指定することもできます。ここでは String オブジェクトの split メソッドで区切り文字として正規表現パターンを使用する方法について解説します。

※ split メソッドの基本的な使い方については「文字列を指定の区切り文字で分割する(split)」を参照されてください。

(Last modified: )

区切り文字として正規表現を指定する

String オブジェクトの split メソッドは、対象の文字列を指定した区切り文字で分割し、分割された文字列をそれぞれ要素として格納した配列を返します。書式は次のとおりです。

文字列.split([区切り文字[, 最大分割回数]])

引数の区切り文字には文字列を指定することもできますが、正規表現オブジェクトを指定することもできます。

文字列.split([正規表現[, 最大分割回数]])

対象の文字列を正規表現にマッチする区切り文字で分割します。

次のサンプルをみてください。

let msg = `こんにちは。今日は、朝から快晴
で気持ちがいいですね。散歩が楽しいです。`;
let msgAry = msg.split(/[。、\n]/);

console.log(msgAry);
>> ["こんにちは", "今日は", "朝から快晴", "で気持ちがいいですね", "散歩が楽しいです", ""]

対象の文字列はテンプレートリテラルを使って改行を含めて入力されています。 split メソッドの引数に指定する正規表現のパターンには「。」「、」「\n(改行)」のいずれかにマッチするものを指定しました。 split メソッドを実行すると正規表現で指定した 3 つの文字のいずれかの文字で対象の文字列を分割します。

このように区切り文字として正規表現オブジェクトを指定することで、より柔軟に対象の文字列を分割することができます。

-- --

String オブジェクトの split メソッドで区切り文字として正規表現パターンを使用する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。