indexOf()
strLib.indexOf() システム関数は、文字ストリング内に索引を戻します。 この索引は指定されたパターンの開始位置を示します。
構文
strLib.indexOf(
source STRING | UNICODE | CHAR | DBCHAR | MBCHAR inOut,
pattern STRING | UNICODE | CHAR | DBCHAR | MBCHAR in
[, skipCount INT in] )
returns (result INT)
- source
- 上記の型と代入互換性のある任意の値を入力することができます。
- pattern
- EGL が source 内で検索する文字シーケンス。 値は、source と同じ型にする必要があります。
- skipCount
- pattern の検索の開始前に無視する、source 内の最初の文字数。 この値が無効であった場合 (0 未満か、source の長さより大きい)、この関数は IndexOutOfBounds 例外をスローします。
- 次の例 2 に示すように、開始位置の代わりにスキップ・カウントを渡すと、1 つの呼び出しの結果を次の skipCount として使用して反復できます。
- result
- source 内の pattern の開始位置の索引。 pattern が検出されなかった場合、この関数は 0 を戻します。
例 1
次の例は、ソース・ストリング内でセミコロンの最初 2 つの出現個所を見つけます。
source STRING = "STRING; CHAR; DBCHAR; MBCHAR; or UNICODE.";
pattern STRING = "; "
result = strLib.indexOf(source, pattern);
// 結果は 7 です
result = strLib.indexOf(source, pattern, 10);
// 結果は 13 です
例 2
次の例は、ソース・ストリング内でブランクの出現個所をすべて見つけます。
function indexOfExample()
text string = "A BC DEF GHIJ" ;
pIndex int = indexOf(text, " ", 0);
while(pIndex != 0);
writeStdOut("Blank index = " + pIndex);
pIndex = indexOf(text, " ", pIndex);
end
end
コンソールに、以下の行が表示されます。
Blank index = 2
Blank index = 5
Blank index = 9