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

フィードバック