JavaScript/String/prototype/indexOf

出典: フリー教科書『ウィキブックス(Wikibooks)』
Jump to navigation Jump to search

indexOfメソッドは文字列の中に指定された部分文字列が出現するインデックスを返します。

構文[編集]

var index = string.indexOf(searchString, fromIndex);
searchString
探索対象の文字列。
fromIndex
探索を開始するインデックスの起点。デフォルトでは0(文字列の先頭から探索)。

[編集]

  • 文字列 "Hello, world!" の中から "l" が最初に出現するインデックスを調べる:
var index = "Hello, world!".indexOf("l");
alert(index); // 2
  • 関数の形をした文字列から関数の中身を取り出す:
var string = "function(a, b){ return a + b }";
var begin  = string.indexOf("{"); // 14
var end    = string.indexOf("}"); // 29
var body   = string.slice( begin + 1, end );
alert(body); // " return a + b "

解説[編集]

indexOfメソッドは文字列の中に指定した部分文字列が出現するインデックスを取得するために用いられます。"Hello, world!" という文字列の中には "l" という部分文字列が2つ存在しますが、indexOfメソッドは最初に見つかったインデックスだけを返し、デフォルトでは文字列の先頭から探索を始めるため、2が返されます(インデックスは0から始まる)。"Hello, world!".charAt(2) == "l"です。

第2引数を指定すると文字列の先頭からではなく、任意のインデックスから探索を開始することができます。たとえば1を指定すると、先頭の文字を無視して2文字目から探索を始めます。文字列を末尾から逆に探索するにはlastIndexOfメソッドを使用します。

関連項目[編集]

このページ「JavaScript/String/prototype/indexOf」は、書きかけです。加筆・訂正など、協力いただける皆様の編集を心からお待ちしております。また、ご意見などがありましたら、お気軽にノートへどうぞ。