Pick / UniBasic字段函数使用多个字符的定界符?

是否曾经在Pick / UniBasic等各种风格中实现过field function (page 311),它可以在多个字符的分隔符上运行?

我可以找到记录在案的实现,规定一个字符作为定界符参数,如果定界符出现多个字符,则使用定界符字符串的第一个字符代替整个字符串作为定界符。

我之所以这样问,是因为我维护的商业和定制软件中有很多实例,在这些实例中,我看到尝试在字段语句中使用多字符定界符的尝试。似乎程序员在使用它期望的结果不同于当前发生的结果。

iCMS 回答:Pick / UniBasic字段函数使用多个字符的定界符?

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

此函数从字符串中返回多字符定界字段。它采用一般形式:

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

其中:

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

此外,文档中的示例:

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

产生输出:

AAAA : BB

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

作为一项正式评论,因为我们同时维护jBASE和OpenQM,所以我觉得值得一提的是OpenQM不允许FIELD()使用多字符定界符。

本文链接:https://www.f2er.com/2005596.html

大家都在问