2

是否曾经在 Pick/UniBasic 等的各种风格中实现了字段函数(第 311 页),可以对多个字符的分隔符进行操作?

我可以找到的文档实现规定一个字符作为分隔符参数,如果分隔符出现多个字符,则使用分隔符字符串的第一个字符而不是整个字符串作为分隔符。

我之所以这么问,是因为在我维护的商业和定制软件中有很多实例,我看到有人尝试在字段语句中使用多字符分隔符。似乎程序员在使用它时期望得到与目前不同的结果。

4

1 回答 1

1

jBASE确实允许这样做。来自FIELD文档:

此函数从字符串中返回一个多字符分隔的字段。它采用一般形式:

FIELD(string, delimiter, occurrence{, extractCount})

在哪里:

string指定要从中提取字段的字符串。
delimiter指定分隔动态数组中的字段的一个或多个字符。
occurrence应评估为值 1 或更高的整数。它指定用作提取起点的分隔符。
extractCount是一个整数,指定要提取的字段数。如果省略,则假定为 1。

此外,来自文档的示例:

in_Value = "AAAA : BBjBASEBB : CCCCC"
CRT FIELD(in_Value , "jBASE", 1)

生产输出:

AAAA : BB

2020-08-13 更新(为OpenQM添加上下文):

作为官方评论,因为我们同时维护 jBASE 和 OpenQM ,我觉得值得一提的是 OpenQM不允许.FIELD()

于 2020-07-03T18:05:02.533 回答