定義と使い方
split() 関数は、指定された 区切り文字や正規表現を基準に文字列を分割し、新しい配列として返します。
この関数は、規則に従って分割した文字列を処理したり、URLの解析などで便利に使用されます。
特徴
- 文字列が分離され、配列の各要素として構成されます。
- 新しい配列を返却するため、元の文字列は変更されません。
基本例
/* 特定の区切り文字を使用した文字列の分割 */
const sentence = "JavaScriptはクライアントサイドのスクリプト言語です。";
const wordsArray = sentence.split(" "); // 空白を基準に文字列を配列に分割
console.log(wordsArray);
// 出力: ["JavaScriptは", "クライアントサイドの", "スクリプト言語です。"]
/* 正規表現を使用した文字列の分割 */
const str = "This is an example.";
const words = str.split(/\s+/); // 文字列を空白を表す正規表現(/\s+/)で分割して配列に変換
console.log(words[0]); // 出力: "This"
console.log(words[1]); // 出力: "is"
console.log(words[2]); // 出力: "an"
console.log(words[3]); // 出ly: "example."
/* URLの解析 */
const url = "https://www.example.com/path/to/file.html?param=value";
const parts = url.split("?"); // URLを区切り文字で分割して配列に変換
console.log(parts[0]); // 出力: "https://www.example.com/path/to/file.html"
console.log(parts[1]); // 出力: "param=value"
構文
str.split()
str.split(separator)
str.split(separator, limit)
strは split() 関数を適用する元の文字列です。
引数
separator |
オプション。 文字列を分割する際に使用する区切り文字です。文字列または正規表現で指定できます。 |
|---|---|
limit |
オプション。 文字列を分割する際に生成される配列の最大長を制限する整数です。 省略すると、区切り文字をすべて使用して文字列を分割します。 最大長を超えて残った文字列は、返される配列には含まれません。 |
戻り値
区切り文字を基準に分割された文字列を要素として含む配列です。
引数と返り値の例
引数がない場合
separatorを指定しなかった場合、返される配列は元の文字列を唯一の要素として持ちます。
const sentence = "はじめまして。歓迎します!";
const wordsArray = sentence.split();
console.log(wordsArray);
// 出力: ["はじめまして。歓迎します!"]
空の文字列("")を区切り文字に指定した場合
separatorに空の文字列("")を指定すると、返される配列は元の文字列のすべての文字を要素として持ちます。
const sentence = "はじめまして。歓迎します!";
const wordsArray = sentence.split("");
console.log(wordsArray);
// 出力: ["は", "じ", "め", "ま", "し", "て", "。", " ", "歓", "迎", "し", "ま", "す", "!"]
区切り文字が元の文字列の最初や最後にある場合
separatorに指定した区切り文字が元の文字列の最初や最後にある場合、返される配列も空の文字列("")で始まったり終わったりします。
const sentence = ",はじめまして。歓迎します!";
// 元の文字列の最初にある "," を区切り文字に指定します。
const wordsArray = sentence.split(",");
// 返される配列の最初に空の文字列("")が要素として含まれています。
console.log(wordsArray);
// 出力: ["", "はじめまして。歓迎します!"]
const sentence = "はじめまして。歓迎します!,";
// 元の文字列の最後にある "," を区切り文字に指定します。
const wordsArray = sentence.split(",");
// 返される配列の最後に空の文字列("")が要素として含まれています。
console.log(wordsArray);
// 出力: ["はじめまして。歓迎します!", ""]
const sentence = ",はじめまして。歓迎します!,";
// 元の文字列の最初と最後にある "," を区切り文字に指定します。
const wordsArray = sentence.split(",");
// 返される配列の最初と最後に空の文字列("")が要素として含まれています。
console.log(wordsArray);
// 出力: ["", "はじめまして。歓迎します!", ""]
区切り文字と元の文字列が同一の場合
separatorと元の文字列が同一の場合、空の文字列("")2つを要素として持つ配列が返されます。
const sentence = "は";
const wordsArray = sentence.split("は");
console.log(wordsArray);
// 出力: ["", ""]
区切り文字と元の文字列がどちらも空の文字列("")の場合
separatorと元の文字列がどちらも空の文字列("")の場合、空の配列が返されます。
const sentence = "";
const wordsArray = sentence.split("");
console.log(wordsArray);
// 出力: []
活用例
split() 関数は、さまざまな状況で有効に活用できます。ここでは、いくつかの例を扱います。
文字列を単語に分割する
const str = "This is an example.";
const words = str.split(" ");
console.log(words);
// 出力: ["This", "is", "an", "example."]
文字列をパースする
const time = "02:30:45";
const timeParts = time.split(":");
const hours = timeParts[0];
console.log("Hours:", hours);
// 出力: "Hours: 02"
ファイルパスからファイル名を抽出する
const filePath = "/path/to/file.txt";
/* "/"で分割し、配列の最後の要素を pop() 関数で返す */
const fileName = filePath.split('/').pop();
console.log(fileName);
// 出力: "file.txt"
コードの補足説明pop() 関数は、配列の最後尾の要素を取り除く関数です。
取り除かれた要素を返します。
メールアドレスからドメインを抽出する
const email = "user@example.com";
const parts = email.split("@");
const domain = parts[1];
console.log(domain);
// 出力 "example.com"
互換性
| メソッド |
デスクトップ Chrome
|
デスクトップ Edge
|
デスクトップ Firefox
|
Safari
|
Node.js
|
|---|---|---|---|---|---|
split()
|
1 | 12 | 1 | 1 | 0.10 |
仕様書
| 仕様書 | |
|---|---|
split()
|
ECMAScript® 2026 Language Specification #sec-string.prototype.split |