5.3.3 INSPECT文
INSPECT文は,データ項目中の文字や文字列の出現回数を数えたり,それらをほかの文字列で置き換えたりします。
INSPECT文については,マニュアル「COBOL2002 言語 標準仕様編」 「10.8.25 INSPECT文」を参照してください。
INSPECT文の例を次に示します。COUNT-nは,その文の実行の直前にゼロになっているものと仮定します。
- (例1)
-
実行例
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
- (例2)
-
実行例
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
- (例3)
-
実行例
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
- (例4)
-
実行例
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
- (例5)
-
実行例
INSPECT ITEM CONVERTING 'ABCD' TO 'XYZX' AFTER QUOTE BEFORE '#'.
上記のINSPECT文は,次のINSPECT文と同じです。
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