値により部分文字列を検索し、文字列の最終位置を指定する整数を返します。
Synopsis
$FIND(string,substring,position)
$F(string,substring,position)
パラメータ
string 検索されるターゲット文字列。変数名、数値、文字列リテラル、すべての有効な Caché ObjectScript 式を指定できます。
substring 検索される部分文字列。変数名、数値、文字列リテラル、すべての有効な Caché ObjectScript 式を指定できます。
position オプション— 検索を開始するターゲット文字列内の位置。必ず正数になります。
概要
$FIND は、文字列内の部分文字列の末尾位置を示す整数を返します。$FIND は、stringsubstring を検索します。substring が見つかると、$FINDsubstring に続く最初の文字の位置を整数で返します。substring が見つからなければ、$FIND は 0 の値を返します。
position オプションを使用して、検索の開始位置を指定できます。position 値が string 内の文字数よりも大きい場合、$FIND は 0 の値を返します。
例えば、変数 var1 が文字列 “ABCDEFG”、変数 var2 が文字列 “BCD” を含む場合、以下の $FINDvar2 文字列に続く文字 (“E”) の位置を示す値 5 を返します。
   SET var1="ABCDEFG",var2="BCD"
   WRITE $FIND(var1,var2)
以下の例は、部分文字列 “FOR” のすぐ右にある文字位置 4 を返します。
   SET X="FOREST"
   WRITE $FIND(X,"FOR")
以下の例では、$FIND は文字列に含まれていない部分文字列を検索します。結果として 0 を返します。
   SET X="ENGINE",Y="Q"
   WRITE $FIND(X,Y)
次の例は、X の 7 番目の文字の後で、最初に “R” が現れる位置のすぐ右の文字位置 14 を返します。
   SET X="EVERGREEN FOREST",Y="R"
   WRITE $FIND(X,Y,7)
以下の例では、$FIND は文字列の最後の文字の後から、検索を開始します。結果として 0 を返します。
   SET X="EVERGREEN FOREST",Y="R"
   WRITE $FIND(X,Y,20)
次の例は、名前の間接指定を使用して部分文字列 “THIS” のすぐ右の文字位置 6 を返しています。
   SET Y="x",x="""THIS IS A TEST"""
   WRITE $FIND(@Y,"THIS")
詳細は、Caché ObjectScript の使用法間接演算 を参照してください。
メモ
$FIND、$EXTRACT、$PIECE、および $LIST
$FIND$EXTRACT$LENGTH、および $PIECE 関数は、標準の文字列を操作します。さまざまな $LIST 関数は、エンコードされた文字列を操作します。この文字列は、標準の文字列とは互換性がありません。唯一の例外は、入力値としてエンコードされた文字列を取りながら、標準の文字列として 1 つの要素の値を出力する、$LIST の 1-引数形式と 2-引数形式です。
関連項目