COBOLの文字列の末尾の空白を除去
COBOL では、文字列末尾の空白文字を削除するには以下のような方法があります。
- STRING関数を使用する文字列内のスペースを空に置換してからTRIM演算を実行することで末尾のスペースを削除できます。コードの例を次に示します。
01 MY-STRING PIC X(10) VALUE 'COBOL '.
01 RESULT-STRING PIC X(10).
MOVE SPACES TO RESULT-STRING.
STRING MY-STRING DELIMITED BY SPACE
INTO RESULT-STRING
ON OVERFLOW
END-STRING
END-STRING.
MOVE FUNCTION TRIM(RESULT-STRING) TO RESULT-STRING.
DISPLAY RESULT-STRING.
- INSPECT関数を使う: INSPECT関数は文字列内の最後の非空白文字の位置を調べることができ、その後SUBSTRING関数を使用してその位置までの文字列を切り取ることができます。以下がコードのサンプルです:
01 MY-STRING PIC X(10) VALUE 'COBOL '.
01 LENGTH PIC 9(2).
01 RESULT-STRING PIC X(10).
MOVE LENGTH OF MY-STRING TO LENGTH.
INSPECT FUNCTION REVERSE(MY-STRING)
TALLYING LENGTH FOR LEADING SPACES.
MOVE FUNCTION SUBSTRING(MY-STRING, 1, LENGTH) TO RESULT-STRING.
DISPLAY RESULT-STRING.
上記の方法ではどちらも文字列末尾の空白を取り除くことができますので、必要に応じて適切な方法を選択してください。