Visit Mozilla.org

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, .


[編集] 参照

charAt, indexOf, lastIndexOf, Array:join