COBOL子串在两个有限点之间

问题描述 投票:2回答:1

我知道string_variable(start:length)可用于获取给定起点和子串长度的字符串的子串,但是,我发现我经常需要在“开始”和“结束”点之间获得子串。

虽然我知道我总能做到这一点:

SUBTRACT start FROM end GIVING len
string(start:len)

每次我编写经常使用此功能的程序时,必须这样做是很麻烦的。是否有更快/内置的方法来实现这一目标?

string substring cobol gnucobol
1个回答
7
投票

怎么样?

    move str (start-pos : end-pos - start-pos + 1) to ...

您可以从最后一个减去第一个,但您需要添加1才能获得正确的长度。

STRING是一个声明名称,STARTEND保留。 LENGTH是一个函数名。我避免那些看起来像代码的东西。

© www.soinside.com 2019 - 2024. All rights reserved.