Core JavaScript 1.5 Reference:Global Objects:String:indexOf
出典: MDC
目次 |
[編集] 概要
呼び出す String オブジェクト 中で、指定された値が最初に現れたインデックスを返します。fromIndex から検索を始め、値が見つけられない場合、-1 を返します。
| String のメソッド | |
| 実装されたバージョン: | JavaScript 1.0, NES2.0 |
| ECMA バージョン: | ECMA-262 |
[編集] 構文
indexOf(searchValue[, fromIndex])
[編集] パラメータ
-
searchValue - 検索する値を表す文字列。
-
fromIndex - 呼び出す文字列内の検索を始めるための位置。0 とその文字列の長さの間にある整数を指定できます。デフォルトの値は 0 です。
[編集] 詳細
文字列における文字は左から右にインデックス化されます。一番最初の文字のインデックスは 0 で、stringName として呼び出された文字列における一番最後の文字は stringName.length - 1 です。
"Blue Whale".indexOf("Blue") // 0 を返します
"Blue Whale".indexOf("Blute") // -1 を返します
"Blue Whale".indexOf("Whale",0) // 5 を返します
"Blue Whale".indexOf("Whale",5) // 5 を返します
"Blue Whale".indexOf("",9) // 9 を返します
"Blue Whale".indexOf("",10) // 10 を返します
"Blue Whale".indexOf("",11) // 10 を返します
indexOf メソッドは大文字と小文字を区別します。例えば、以下の表現は -1 を返します。:
"Blue Whale".indexOf("blue")
[編集] 例
[編集] 例: indexOf と lastIndexOf の使用
以下の例は、 "Brave new world" という文字列において、与えられた値の位置を求めるために、indexOf と lastIndexOf を使用しています。
var anyString="Brave new world"
document.write("<P>The index of the first w from the beginning is " +
anyString.indexOf("w")) // 8 を表示します
document.write("<P>The index of the first w from the end is " +
anyString.lastIndexOf("w")) // 10 を表示します
document.write("<P>The index of 'new' from the beginning is " +
anyString.indexOf("new")) // 6 を表示します
document.write("<P>The index of 'new' from the end is " +
anyString.lastIndexOf("new")) // 6 を表示します
[編集] 例: indexOf と 大文字と小文字の区別
以下の例は 2 つの文字列の変数を定義しています。それらの変数は、2 番目の文字列が大文字を含んでいることを除けば、同じ文字列を含んでいます。1 番目の writeln メソッドは 19 を表示します。 しかし、indexOf メソッドは大文字とと小文字を区別するので、"cheddar" という文字列は myCapString では見つけられません。ですから、writeln メソッドは -1 を表示します。
myString="brie, pepper jack, cheddar"
myCapString="Brie, Pepper Jack, Cheddar"
document.writeln('myString.indexOf("cheddar") is ' +
myString.indexOf("cheddar"))
document.writeln('<P>myCapString.indexOf("cheddar") is ' +
myCapString.indexOf("cheddar"))
[編集] 例: ある文字列中で、ある 1 つの文字が出現する回数を数えるための indexOf の使用
以下の例は、count に、str という文字列中で x という文字が出現する回数を設定します。:
count = 0;
pos = str.indexOf("x");
while ( pos != -1 ) {
count++;
pos = str.indexOf("x",pos+1);
}