是否曾经在Pick / UniBasic等各种风格中实现过field function (page 311),它可以在多个字符的分隔符上运行?
我可以找到记录在案的实现,规定一个字符作为定界符参数,如果定界符出现多个字符,则使用定界符字符串的第一个字符代替整个字符串作为定界符。
我之所以这样问,是因为我维护的商业和定制软件中有很多实例,在这些实例中,我看到尝试在字段语句中使用多字符定界符的尝试。似乎程序员在使用它期望的结果不同于当前发生的结果。
是否曾经在Pick / UniBasic等各种风格中实现过field function (page 311),它可以在多个字符的分隔符上运行?
我可以找到记录在案的实现,规定一个字符作为定界符参数,如果定界符出现多个字符,则使用定界符字符串的第一个字符代替整个字符串作为定界符。
我之所以这样问,是因为我维护的商业和定制软件中有很多实例,在这些实例中,我看到尝试在字段语句中使用多字符定界符的尝试。似乎程序员在使用它期望的结果不同于当前发生的结果。
此函数从字符串中返回多字符定界字段。它采用一般形式:
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()
使用多字符定界符。