gpt4 book ai didi

string - COBOL 替代 BASIC 的 MID 以及如何连接字符串?

转载 作者:行者123 更新时间:2023-12-03 21:36:17 26 4
gpt4 key购买 nike

我正在寻找 Visual Basic 的 MID 函数的 COBOL 替代品。我需要做的是从 8 个字符串中取出前 5 个字母并将它们连接起来。

我正在使用 Fujitsu COBOL。

非常感谢,

伊万

最佳答案

Paxdiablo 提供了几个有效的方法来做到这一点。另一种方法是在 STRING 动词之外使用引用修饰。完整的程序示例如下:

   IDENTIFICATION DIVISION.                                      
PROGRAM-ID. EXAMPLE9.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 STRINGS.
05 STRING1 PIC X(10) VALUE 'AAAAAAAAAA'.
05 STRING2 PIC X(10) VALUE 'BBBBBBBBBB'.
05 STRING3 PIC X(10) VALUE 'CCCCCCCCCC'.
05 STRING4 PIC X(10) VALUE 'DDDDDDDDDD'.
05 STRING5 PIC X(10) VALUE 'EEEEEEEEEE'.
05 STRING6 PIC X(10) VALUE 'FFFFFFFFFF'.
05 STRING7 PIC X(10) VALUE 'GGGGGGGGGG'.
05 STRING8 PIC X(10) VALUE 'HHHHHHHHHH'.
05 STRING-OUT PIC X(40) VALUE SPACES.
PROCEDURE DIVISION.

STRING STRING1(1:5) STRING2(1:5) STRING3(1:5) STRING4(1:5)
STRING5(1:5) STRING6(1:5) STRING7(1:5) STRING8(1:5)
DELIMITED BY SIZE
INTO STRING-OUT

DISPLAY STRING-OUT
GOBACK.

这大大减少了冗长,并在单个语句中捕获了串联。最好的建议是仔细阅读 STRING 动词。它有许多创新的使用方式。

COBOL 不提供与 BASIC MID 语句的精确模拟。您可以通过使用 STRINGUNSTRINGINSPECT 和引用修改的某种组合来完成类似的操作。引用修改的示例是:SOME-VARIABLE-NAME(1:5) - 1:5 位指定 SOME-VARIABLE-NAME 的子字符串,以第一个字符,长度为 5 个字符。修饰符本身可以是数字变量。 STRINGUNSTRING 动词提供了许多非常强大的功能。

但总的来说,COBOL 在字符串操作方面并不是特别擅长(有些人可能会说它在任何方面都不是特别擅长 - 但我不同意这种说法)。

关于string - COBOL 替代 BASIC 的 MID 以及如何连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3299099/

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