INSPECT文は,データ項目中の文字や文字列の出現回数を数えたり,それらをほかの文字列で置き換えたりします。
INSPECT文については,マニュアル「COBOL2002 言語 標準仕様編 10.8.25 INSPECT文」を参照してください。
INSPECT文の例を次に示します。COUNT-nは,その文の実行の直前にゼロになっているものと仮定します。
INSPECT ITEM TALLYING
COUNT-0 FOR ALL 'AB', ALL 'D'
COUNT-1 FOR ALL 'BC'
COUNT-2 FOR LEADING 'EF'
COUNT-3 FOR LEADING 'B'
COUNT-4 FOR CHARACTERS.
INSPECT ITEM REPLACING
ALL 'AB' BY 'XY', 'D' BY 'X'
ALL 'BC' BY 'VW'
LEADING 'EF' BY 'TU'
LEADING 'B' BY 'S'
FIRST 'G' BY 'R'
FIRST 'G' BY 'P'
CHARACTERS BY 'Z'.
ITEMの初期値 | COUNT-0 | COUNT-1 | COUNT-2 | COUNT-3 | COUNT-4 | ITEMの終了値 |
---|---|---|---|---|---|---|
EFABDBCGABCFGG | 3 | 1 | 1 | 0 | 5 | TUXYXVWRXYZZPZ |
BABABC | 2 | 0 | 0 | 1 | 1 | SXYXYZ |
BBBC | 0 | 1 | 0 | 2 | 0 | SSVW |
INSPECT ITEM TALLYING
COUNT-0 FOR CHARACTERS
COUNT-1 FOR ALL 'A'.
INSPECT ITEM REPLACING
CHARACTERS BY 'Z'
ALL 'A' BY 'X'.
ITEMの初期値 | COUNT-0 | COUNT-1 | ITEMの終了値 |
---|---|---|---|
BBB | 3 | 0 | ZZZ |
ABA | 3 | 0 | ZZZ |
INSPECT ITEM TALLYING
COUNT-0 FOR ALL 'AB' BEFORE 'BC'
COUNT-1 FOR LEADING 'B' AFTER 'D'
COUNT-2 FOR CHARACTERS AFTER 'A' BEFORE 'C'.
INSPECT ITEM REPLACING
ALL 'AB' BY 'XY' BEFORE 'BC'
LEADING 'B' BY 'W' AFTER 'D'
FIRST 'E' BY 'V' AFTER 'D'
CHARACTERS BY 'Z' AFTER 'A' BEFORE 'C'.
ITEMの初期値 | COUNT-0 | COUNT-1 | COUNT-2 | ITEMの終了値 |
---|---|---|---|---|
BBEABDABABBCABEE | 3 | 0 | 2 | BBEXYZXYXYZCABVE |
ADDDDC | 0 | 0 | 4 | AZZZZC |
ADDDDA | 0 | 0 | 5 | AZZZZZ |
CDDDDC | 0 | 0 | 0 | CDDDDC |
BDBBBDB | 0 | 3 | 0 | BDWWWDB |
INSPECT ITEM TALLYING
COUNT-0 FOR ALL 'AB' AFTER 'BA' BEFORE 'BC'.
INSPECT ITEM REPLACING
ALL 'AB' BY 'XY' AFTER 'BA' BEFORE 'BC'.
ITEMの初期値 | COUNT-0 | ITEMの最終値 |
---|---|---|
ABABABABC | 1 | ABABXYABC |
INSPECT ITEM CONVERTING
'ABCD' TO 'XYZX' AFTER QUOTE BEFORE '#'.
INSPECT ITEM REPLACING
ALL 'A' BY 'X' AFTER QUOTE BEFORE '#'
ALL 'B' BY 'Y' AFTER QUOTE BEFORE '#'
ALL 'C' BY 'Z' AFTER QUOTE BEFORE '#'
ALL 'D' BY 'X' AFTER QUOTE BEFORE '#'.
ITEMの初期値 | ITEMの最終値 |
---|---|
AC'AEBDFBCD#AB'D | AC'XEYXFYZX#AB'D |