こんにちわ、食べ物で夏といえば皆さん何を思い浮かべますか?
私は、やっぱりスイカでしょうか。
暑いむせ返る日にこそ、スイカに塩ふって食べたくなるゆずのすけです!
今日は、そんなスイカの食べ方にちなんで、文字列を分割して新たな配列にしてしまうsplit()メソッドをご紹介します。
split()とは?
split()とは、String(文字列)に対して区切る方法を指定し、配列に分割するメソッドです。
例えば
1 |
const str = "おはよう、こんにちわ、こんばんわ" |
と言った文字列をそれぞれの挨拶で分割したい場合
1 |
let res = str.split('、'); |
と書きます。
新しい変数resに、定数strを‘、’で分割して収納するという意味のコードです
これそコンソールに表示してみると…
1 2 3 4 5 6 7 |
console.log(res); (3) ["おはよう", "こんにちわ", "こんばんわ"] 0: "おはよう" 1: "こんにちわ" 2: "こんばんわ" length: 3 |
こうなります、濁点で分割されて新しい配列になっていますね。
split()の使い方
次にsplit()の使い方ですが
String(文字列).split(区切る文字 or 正規表現 , 分割数);
と書きます。
先程の例で言うと、’、’これが区切る文字になりますね。
先ほどは、分割した全てを収納しましたが、少なくすることも出来ます。
例えば
1 |
const str2 = "おはよう、こんにちわ、こんばんわ、ありがとうございます、失礼いたします"; |
この配列に対して
1 |
let res = str.split('、', 2); |
とすると
1 2 3 4 5 6 |
console.log(res); (2) ["おはよう", "こんにちわ"] 0: "おはよう" 1: "こんにちわ" length: 2 |
前回とは違い、2つだけ分割して収納されていますね。
こうした使い方もする事が出来ます。
split()に正規表現を使う
また、区切る文字は正規表現を指定する事も出来ます。
例えば今度は、こんな配列があったとします。
1 |
const str3 = "おはよう こんにちわ こんばんわ お疲れさまです"; |
これを今までのように、
1 2 |
let res = str3.split(' '); console.log(res); |
こうして区切ると
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
(20) ["おはよう", "", "", "", "", "", "こんにちわ", "", "こんばんわ", "", "", "", "", "", "", "", "", "", "", " お疲れさまです"] 0: "おはよう" 1: "" 2: "" 3: "" 4: "" 5: "" 6: "こんにちわ" 7: "" 8: "こんばんわ" 9: "" 10: "" 11: "" 12: "" 13: "" 14: "" 15: "" 16: "" 17: "" 18: "" 19: " お疲れさまです" length: 20 |
空白が多くて、分割数がすごく多い配列になってしまいます。
そこで、正規表現を使います。
正規表現では空白は、\sで表します+を書く事で複数の空白と指定する事が出来ます。
1 2 |
let res = str4.split(/\s+/); console.log(res) ; |
こうする事で
1 2 3 4 5 6 |
(4) ["おはよう", "こんにちわ", "こんばんわ", "お疲れさまです"] 0: "おはよう" 1: "こんにちわ" 2: "こんばんわ" 3: "お疲れさまです" length: 4 |
綺麗に分割する事ができました。
まとめ
いかがだったでしょうか?
今回はStringを分割する事のできるsplit()を紹介いたしました。
split()は、join()などと組み合わせて使ったりすると非常に便利です、機会があれば組み合わせた場合の紹介もしたいと思います。
この記事があなたの役にたてば幸いです。