两个有限点之间的 COBOL 子串

COBOL substring between two finite points

我知道 string_variable(start:length) 可用于在给定起点和子字符串长度的情况下获取字符串的子字符串,但是,我发现我经常需要在 [=18 之间获取子字符串=] 和 'end' 点。

虽然我知道我总是可以这样做:

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

当我编写经常使用此功能的程序时,每次都必须这样做似乎很麻烦。是否有 quicker/built-in 方法可以实现此目的?

怎么样?

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

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

STRING是语句名,START也是,END是保留的。 LENGTH 是一个函数名。我避免在任何看起来像代码的地方使用它们。