gpt4 book ai didi

cobol - 从 cobol 中的输入中删除空格的标准方法?

转载 作者:行者123 更新时间:2023-12-04 14:07:20 33 4
gpt4 key购买 nike

我只是在学习 COBOL;我正在编写一个简单地回显用户输入的程序。我已经定义了一个变量:

User-Input PIC X(30).

后来当我接受用户输入,然后显示用户输入“加上一些额外的文本”时,它有一堆空格来填充 30 个字符。有没有标准的方法(比如 Ruby 的 str.strip!)来删除多余的空格?

最佳答案

人们希望有一种更优雅的方式来简单地修剪文本字符串
但这几乎是标准解决方案......修剪部分
在 SHOW-TEXT 段落中完成。


*************************************
* TRIM A STRING... THE HARD WAY...
*************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. TESTX.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-INPUT PIC X(30).
01 I PIC S9(4) BINARY.
PROCEDURE DIVISION.
MOVE SPACES TO USER-INPUT
PERFORM SHOW-TEXT

MOVE ' A B C' TO USER-INPUT
PERFORM SHOW-TEXT

MOVE 'USE ALL 30 CHARACTERS -------X' TO USER-INPUT
PERFORM SHOW-TEXT
GOBACK
.
SHOW-TEXT.
PERFORM VARYING I FROM LENGTH OF USER-INPUT BY -1
UNTIL I LESS THAN 1 OR USER-INPUT(I:1) NOT = ' '
END-PERFORM
IF I > ZERO
DISPLAY USER-INPUT(1:I) '@ OTHER STUFF'
ELSE
DISPLAY '@ OTHER STUFF'
END-IF
.


产生以下输出:

@ OTHER STUFF
A B C@ OTHER STUFF
USE ALL 30 CHARACTERS -------X@ OTHER STUFF

请注意,PERFORM VARYING 语句依赖于左侧
正确评估 UNTIL 子句以避免越界
在 USER-INPUT 上只包含下标
空格。

关于cobol - 从 cobol 中的输入中删除空格的标准方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050294/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com