注意: 9.1 組み込み関数の規則 利用オプション |
文字列に対して、あるパターンの最初のオカレンスをスキャンします。
次の表に、このファンクションで使用する引数を示します。
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | スキャン対象の文字列 | 1 | 無制限 | ||
2 | A | 必須 | 検索するパターン 必要に応じて大文字または小文字を使用して入力してください。 このパラメータはRDMLXリストでは無視されます。どの値でも指定できます。リスト・エントリーの長さにかかわらず、正しく保管されます。 | 1 | 無制限 | ||
3 | N | 任意 | スキャンを開始する位置 範囲: 1~スキャン対象文字列の最大可能長 デフォルト: 1 | 1 | 11 | 0 | 0 |
4 | A | 任意 | 大文字を比較するかどうかを指定 1 = いいえ、大文字/小文字の両方で比較 デフォルト: 1 注意を参照してください。 | 1 | 1 | ||
5 | A | 任意 | パターンの末尾ブランクを除去するかどうかを指定 1 = はい デフォルト:1 - ワイルド・カード・パターンから末尾ブランクを除去 | 1 | 1 | ||
6 | A | 任意 | スキャン・パターンのワイルド・カード 値: デフォルト:ワイルド・カードなし パターンの一番左の文字にブランクを使用しないでください。使用すると、エラーが発生します。 | 1 | 1 |
番号 | タイプ | 必須/任意 | 記述 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | N | 必須 | 文字列での最初のオカレンスの位置またはエラー・コード 次の値のうちの1つが戻されます。 +p = 位置"p"で検出されたパターンのオカレンス | 1 | 3 | 0 | 0 |
結果は、文字列を比較するために大文字に変換されます。以下は結果の例です。
|
次のコードによって、テキスト "find where it exists" にある文字列 "where" が検索されます。
Function Options(*DIRECT)
Define Field(#PATTERN) Reffld(#SKILCODE) Label('Find Pattern') Default(WHERE)
Define Field(#STARTPOS) Reffld(#STD_IDNOS) Label('Start Pos') Default(1)
Override Field(#STD_FLAG) Label('Case (1/0)?') Default('''1''')
Define Field(#TRIM) Reffld(#STD_FLAG) Label('Trim (1/0)') Default('''1''')
Define Field(#WILD) Reffld(#STD_FLAG) Label('WildCard?') Default('')
Override Field(#STD_IDNOS) Label('Occurs at Pos.') Edit_Code(L)
Change Field(#STD_TEXTS) To('''Find where it exists''')
Begin_Loop
Request Fields((#STD_TEXTS *LOWER) #PATTERN #STARTPOS #STD_FLAG #TRIM #WILD (#STD_IDNOS *OUT))
Use Builtin(SCANSTRING) With_Args(#STD_TEXTS #PATTERN #STARTPOS #STD_FLAG) To_Get (#STD_IDNOS)
End_Loop