Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../index.htm#lansa/scanstring.htm]
現在地:

...

9.186 SCANSTRING

Note

注意

...

 9.1

...

組み込み関数の規則     利用オプション

文字列に対して、あるパターンの最初のオカレンスをスキャンします。 文字列に対して、あるパターンの最初のオカレンスをスキャンします。   

引数 

引数
次の表に、このファンクションで使用する引数を示します。

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

スキャン対象の文字列

1

無制限

 

 



2

A

必須

検索するパターン

検索するパターン。必要に応じて大文字または小文字を使用して入力してください。

必要に応じて大文字または小文字を使用して入力してください。

このパラメータはRDMLXリストでは無視されます。どの値でも指定できます。リスト・エントリーの長さにかかわらず、正しく保管されます。

1

無制限

 

 



3

N

任意

スキャンを開始する位置。範囲: 1~スキャン対象文字列の最大可能長

スキャンを開始する位置

範囲: 1~スキャン対象文字列の最大可能長 

デフォルト: 1

1

11

0

0

4

A

任意

大文字を比較するかどうかを指定

1 = いいえ、大文字/

小文字の両方で比較

小文字の両方で比較 
0 =

はい、大文字で比較

はい、大文字で比較 

デフォルト:

1

注意を参照してください。

1

1

 

 



5

A

任意

パターンの末尾ブランクを除去するかどうかを指定

1 =

はい

はい 
0 =

いいえ

いいえ 

デフォルト:1 - ワイルド・カード・パターンから末尾ブランクを除去

1

1

 

 



6

A

任意

スキャン・パターンのワイルド・カード

スキャン・パターンのワイルド・カード。値:

値: 
ブランク = ワイルド・カードなし
ブランク以外 = ワイルド・カードあり

デフォルト:ワイルド・カードなし

デフォルト:ワイルド・カードなし 

パターンの一番左の文字にブランクを使用しないでください。使用すると、エラーが発生します。

1

1

 

 



戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

N

必須

文字列での最初のオカレンスの位置またはエラー・コード

次の値のうちの1つが戻されます。

次の値のうちの1つが戻されます。 

+p = 位置"p"

で検出されたパターンのオカレンス

で検出されたパターンのオカレンス 
0 = スキャン対象の文字列にパターンなし
-1 = エラー(パターンが文字列より長い)
-2 = エラー(パターンの長さが1より短い)
-3 = エラー(パターンの最初の文字がワイルド・カード)
-4 = エラー(パターンがブランクで、除去が指定されている)
-5 = エラー(開始位置が無効)

1

3

0

0

Note

Anchor
SCANSTRING_note
SCANSTRING_note

...

注意:

結果は、文字列を比較するために大文字に変換されます。以下は結果の例です。

検索対象の文字列

大文字比較パラメータの指定

結果

検出されるかどうか

ABC


1  (いいえ)


123abc4

Yes

...

 

...

 

123ABC4

Yes

ABC


0  (はい)


123abc4

No

...

...

 

123ABC4

Yes

abc


1  (いいえ)


123abc4

No

...

 

...

 

123ABC4

No

abc


0  (はい)


123abc4

Yes

...

 

...

123ABC4

No

...

例 

次のコードによって、テキスト "find where it exists" にある文字列 "where" が検索されます。
Function    Optionsが検索されます。 

     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

...