JavaScript 文字列を区切り文字で分割する(split)

JavaScriptのsplitメソッドのサンプルです。
文字列を区切り文字で分割します。

目次

splitメソッド

変数 = 分割したい文字列.split ([文字列 or 正規表現 [ , 数値] ] );
  • 1つ目の引数(文字列 or 正規表現)にマッチすると、そこで文字列を区切ります。省略可能です。
  • 2つ目の引数(数値)は、分割する数を指定します。省略可能です。
  • 戻り値は文字列の配列を返します。
  • Stringオブジェクトのメソッドです。
  • 以下はMDNのsplitメソッドのリンクです。
    https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/split

カンマで分割する

カンマで分割するサンプルです。

<script>
const str1 = "赤,黄,青";
const arry1 = str1.split(",");

arry1.forEach(function(a){
	console.log(a); //赤 黄 青
});
</script>

3行目は、2行目の文字列をカンマ区切りで配列にしています。
5行目は、forEachメソッドで3行目の配列の値を取得しています。

半角スペースで分割する(正規表現)

半角スペースで分割するサンプルです。

<script>
const str1 = "赤 黄 青";
const p1 = /\s/;  //円記号+S
const arry1 = str1.split(p1);

arry1.forEach(function(a){
	console.log(a); //赤 黄 青
});
</script>

3行目は、正規表現で半角スペースを指定しています。(円記号+Sです)
4行目は、2行目の文字列を3行目の正規表現で区切って配列にしています。

区切り文字2つで分割する(正規表現)

区切り文字2つで分割するサンプルです。

<script>
const str1 = "あ,い:う,え";
const p1 = /[,:]/; 
const arry1 = str1.split(p1);

arry1.forEach(function(a){
	console.log(a); //あ い う え
});
</script>

3行目は、正規表現でカンマ(,)とコロン(:)を指定しています。
4行目は、2行目の文字列を3行目の正規表現で区切って配列にしています。
※[,:]の意味は、,:のどれかひとつですが、splitメソッドではすべてになります。オプションのgをつけても付けなくても結果は同じです。

文字列で分割する(正規表現)

文字列で分割するサンプルです。

<script>
const str1 = "あAaいaaうaAえ";
const p1 = /aa/; 
const arry1 = str1.split(p1);

arry1.forEach(function(a){
	console.log(a); //あAaい うaAえ
});
</script>

3行目は、正規表現で小文字のaaという文字列を指定しています。
4行目は、2行目の文字列を3行目の正規表現で区切って配列にしています。
aaのみで分割されます。AaとaAでは分割されません。

文字列で分割+大文字小文字を区別しない(正規表現)

文字列で分割+大文字小文字を区別しないサンプルです。

<script>
const str1 = "あAaいaaうaAえ";
const p1 = /aa/i; 
const arry1 = str1.split(p1);

arry1.forEach(function(a){
	console.log(a); //あ い う え
});
</script>

3行目は、正規表現で小文字のaaという文字列を指定しかつiオプションを指定しています。
iオプションは、大文字と小文字の区別をしません。
4行目は、2行目の文字列をaaとAaとaAで分割して配列にしています。

配列の要素数を指定する(正規表現)

splitメソッドで配列の要素数を指定するサンプルです。

<script>
const str1 = "あ,い,う,え";
const arry1 = str1.split(",",2);

arry1.forEach(function(a){
	console.log(a); //あ い
});
</script>

3行目は、splitメソッドの2つめの引数にlimitを指定して、文字列を配列にしています。
要素は、2個のみになります。

正規表現の構文

正規表現の構文として以下2つがあります。

変数 = /正規表現のパターン/オプション
変数 = new RegExp('正規表現のパターン','オプション') 

正規表現の主なパターン

以下は、正規表現の主なパターンです。

パターン パターンの意味
ABD ABDという文字か。
[ABD] A or B or Dのどれか1文字が入っているか。
[^ABD] A と B と D以外の1文字が入っているか。
[A-D] A or B or C or Dのどれか1文字が入っているか。
A|B|D A or B or Dのどれか1文字が入っているか。
[a-zA-Z] 英字の小文字のaからzまたは大文字のAからZのどれか1文字が入っているか。
^A 先頭の文字はAか。
A$ 最後尾の文字はAか。
* *の直前の文字が0回以上の繰り返し。
+ +の直前の文字が1回以上の繰り返し。
? ?の直前の文字が0回または1回の繰り返し。
{n} n回続いている。
{n,} n回以上続いている。
 . 任意の一文字を表す。
¥s 比較する文字に、空白1文字がある。
¥S 比較する文字に、空白以外の1文字がある。
¥d 比較する文字に、数字1文字がある。 ([0-9]と同じ)
¥D 比較する文字に、数字以外の1文字がある。  ([^0-9]と同じ)
¥w 比較する文字に、小文字の英字 or 大文字の英字 or 数値 or アンダースコアの1文字がある。
[a-zA-Z0-9_]と同じ
¥W ¥wの否定。
[^¥w]と同じ

正規表現の主なオプション

以下は、正規表現の主なオプションです。

オプション 説明
g マッチしたものをすべて返す(Global search.)
→splitメソッドの場合、このオプションがなくても全て返す(場所3参照)
i 大文字と小文字の区別をしない(Case-insensitive search.)
m 複数行をマッチする

関連の記事

JavaScript 文字列を置き換える(replace)
JavaScript 正規表現で文字列を検索し値を返す(match)

△上に戻る