💻 COBOL
COBOL INSPECT Statement
Intermediate 🕑 10 min read
👁 0 views
COBOL INSPECT Statement
The INSPECT statement examines and optionally modifies characters in a string.
Syntax
INSPECT identifier TALLYING ...
INSPECT identifier REPLACING ...
INSPECT identifier CONVERTING ...
INSPECT identifier TALLYING ... REPLACING ...
Example Program
IDENTIFICATION DIVISION.
PROGRAM-ID. INSPECT-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-STRING PIC X(30).
01 WS-COUNT PIC 99 VALUE 0.
01 WS-COUNT-A PIC 99 VALUE 0.
PROCEDURE DIVISION.
* TALLYING - Count characters
MOVE 'HELLO WORLD' TO WS-STRING
MOVE 0 TO WS-COUNT
INSPECT WS-STRING TALLYING
WS-COUNT FOR ALL 'L'
DISPLAY 'Count of L: ' WS-COUNT
* TALLYING with multiple counters
MOVE 0 TO WS-COUNT WS-COUNT-A
INSPECT WS-STRING TALLYING
WS-COUNT FOR ALL 'O'
WS-COUNT-A FOR ALL ' '
DISPLAY 'Count of O: ' WS-COUNT
DISPLAY 'Count of spaces: ' WS-COUNT-A
* REPLACING - Replace characters
MOVE 'HELLO WORLD' TO WS-STRING
INSPECT WS-STRING REPLACING
ALL 'L' BY 'X'
DISPLAY 'After replace L: ' WS-STRING
* REPLACING LEADING/FIRST
MOVE '000123' TO WS-STRING
INSPECT WS-STRING REPLACING
LEADING '0' BY ' '
DISPLAY 'Leading zeros: [' WS-STRING ']'
* CONVERTING - Character translation
MOVE 'hello world' TO WS-STRING
INSPECT WS-STRING CONVERTING
'abcdefghijklmnopqrstuvwxyz' TO
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
DISPLAY 'Uppercase: ' WS-STRING
STOP RUN.
Expected Output
Count of L: 03
Count of O: 02
Count of spaces: 01
After replace L: HEXXO WORXD
Leading zeros: [ 123 ]
Uppercase: HELLO WORLD
Key Points
- TALLYING counts occurrences
- REPLACING modifies characters
- CONVERTING translates character sets
- LEADING/TRAILING/FIRST options available
- BEFORE/AFTER INITIAL limits scope