概要
文字列を複数の部分文字列に区切ることにより、String
オブジェクトを文字列の配列に分割します。
構文
str.split([separator[, limit]])
引数
separator
- 任意。文字列を区切ることに使用するための文字を指定します。
separator
は文字列、もしくは、正規表現 として扱われます。separator
が省略された場合、返る配列は文字列全体から成る 1 つの要素を含みます。separator が空文字の場合、str は文字の配列に変換されます。 limit
- 見つかった分割結果の数の制限を指定する整数
詳細
split
メソッドは、新しい配列を返します。
split
メソッドが新しい配列を文字列から取り出すとき、separator
は文字列から削除され、部分文字列から成る配列が返ります。separator
が省略された場合、その配列は 文字列全体から成る 1 つの要素を含みます。
separator
が、キャプチャする括弧を含む正規表現だった場合、マッチしたキャプチャする括弧の結果(任意の undefined
となった結果を含む)である各回の区切りが出力配列に結合されます。
注: 文字列が空であるとき、split
メソッドは、空の配列ではなく、1 つの空文字列を含む配列を返します。
例
例: split
メソッドの使用
以下の例は、指定された区切りを使って、文字列を文字列の配列に分割する関数を定義します。文字列を分割した後、その関数は元の文字列(分割する前)、使用した区切り、配列中の要素の数、そして、個々の配列要素を示すメッセージを表示します。
function splitString (stringToSplit,separator) { var arrayOfStrings = stringToSplit.split(separator); print('元の文字列: "' + stringToSplit + '"'); print('区切り: "' + separator + '"'); print("配列は " + arrayOfStrings.length + " 要素: "); for (var i = 0; i < arrayOfStrings.length; i++) { print(arrayOfStrings[i] + " / "); } } var tempestString = "Oh brave new world that has such people in it."; var monthString = "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"; var space = " "; var comma = ","; splitString(tempestString,space); splitString(tempestString); splitString(monthString,comma);
これは次のように出力されます。
元の文字列: "Oh brave new world that has such people in it." 区切り: " " 配列は 10 要素: Oh / brave / new / world / that / has / such / people / in / it. / 元の文字列: "Oh brave new world that has such people in it." 区切り: "undefined" 配列は 1 要素: Oh brave new world that has such people in it. / 元の文字列: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" 区切り: "," 配列は 12 要素: Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Dec /
例: 文字列からの空白の削除
以下の例では、split
メソッドは、 0 回以上の空白とそれに続くセミコロン、それにさらに続く 0 回以上の空白を探し、それらが見つかったとき、文字列から空白を削除します。nameList
は、split
メソッドの結果として返された配列です。
var names = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ";
print(names);
var re = /\s*;\s*/;
var nameList = names.split (re);
console.log(nameList);
これは 2 つの行を出力します。 1 行目は元の文字列を出力し、 2 行目は split
メソッドの実行結果の配列を出力します。
Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand Harry Trump,Fred Barney,Helen Rigby,Bill Abel,Chris Hand
例: 限られた数の分割結果を返す
以下の例では、split
メソッドは 文字列中の 0 回以上の空白を探し、見つかった最初の 3 つの分割結果を返します。
var myString = "Hello World. How are you doing?";
var splits = myString.split(" ", 3);
console.log(splits);
このスクリプトは以下の例を出力します。
Hello, World., How
例:キャプチャする括弧
separator
がキャプチャする括弧を含む場合、マッチした結果が戻り値の配列に含まれます。
var myString = "Hello 1 word. Sentence number 2."; var splits = myString.split(/(\d)/); console.log(splits);
このスクリプトは、以下を表示します。
Hello , 1, word. Sentence number , 2, .