Core JavaScript 1.5 Reference:Global Objects:String:split
出典: MDC
目次 |
[編集] 概要
文字列を複数の部分文字列に区切ることにより、String オブジェクトを文字列の配列に分割します。
| String のメソッド | |
| 実装されたバージョン: | JavaScript 1.1, NES2.0 |
| ECMA バージョン: | ECMA-262 (区切りが文字列である場合) ECMA-262, Edition 3 (区切りが正規表現である場合) |
[編集] 構文
var splits = str.split([separator][, limit]);
[編集] 引数
-
separator - 文字列を区切ることに使用するための文字を指定します。
separatorは文字列、もしくは、正規表現 として扱われます。separatorが省略された場合、返る配列は文字列全体から成る 1 つの要素を含みます。
-
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); print(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);
print(splits);
このスクリプトは以下の例を出力します。:
Hello, World., How
[編集] 例:キャプチャする括弧
separator がキャプチャする括弧を含む場合、マッチした結果が戻り値の配列に含まれます。
var myString = "Hello 1 word. Sentence number 2."; var splits = myString.split(/(\d)/); print(splits);
このスクリプトは、以下を表示します。:
Hello , 1, word. Sentence number , 2, .