INSPECT Statement
Problem Description
Use INSPECT to count and replace characters.
Expected Output
Character manipulation results
Hints
INSPECT TALLYING counts, REPLACING modifies.
Solution
IDENTIFICATION DIVISION.
PROGRAM-ID. INSPECT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-TEXT PIC X(50) VALUE "HELLO WORLD COBOL PROGRAMMING".
01 WS-COUNT PIC 9(3) VALUE 0.
01 WS-PHONE PIC X(12) VALUE "123-456-7890".
PROCEDURE DIVISION.
* Count occurrences
INSPECT WS-TEXT TALLYING WS-COUNT FOR ALL "O".
DISPLAY "COUNT OF O: " WS-COUNT.
MOVE 0 TO WS-COUNT.
INSPECT WS-TEXT TALLYING WS-COUNT FOR ALL SPACES.
DISPLAY "COUNT OF SPACES: " WS-COUNT.
* Replace characters
INSPECT WS-TEXT REPLACING ALL "O" BY "0".
DISPLAY "AFTER REPLACE: " WS-TEXT.
* Remove dashes from phone
INSPECT WS-PHONE REPLACING ALL "-" BY SPACE.
DISPLAY "PHONE: " WS-PHONE.
* Convert to uppercase (if lowercase)
MOVE "hello world" TO WS-TEXT.
INSPECT WS-TEXT CONVERTING
"abcdefghijklmnopqrstuvwxyz" TO
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".
DISPLAY "UPPER: " WS-TEXT.
STOP RUN.
Explanation:
INSPECT TALLYING counts characters. REPLACING changes them. CONVERTING maps.