跳到主要内容 跳到补充内容

SubFieldRegEx - 脚本和图表函数

SubFieldRegEx() 使用指定的正则表达式模式作为分隔符,从输入字符串表达式中提取文本。如果没有找到匹配项,函数将返回空值。

该函数执行大小写敏感的正则表达式操作。您也可以用变种 SubFieldRegExI() 来作为替代,执行不区分大小写的正则表达式操作。

语法:  

SubFieldRegEx (text, regex_delimiter [, field_no])

返回数据类型: 字符串

参数
参数 描述
text 要搜索正则表达式模式的输入字符串文本。
regex_delimiter 字符串表达式,包含用作定界符的正则表达式。您可以在同一正则表达式模式中指定多个定界符,方法是用 |(垂直管道)字符将它们分隔开来。
field_no

整数值,表示要提取的分区的编号。例如,指定 4 提取第四个细分项。这是可选参数。

无论函数是在加载脚本还是图表表达式中使用,以下内容都适用:

  • 如果 field_no 为正值,函数将返回一个值,从左到右识别匹配项。

  • 如果 field_no 为负值,函数将返回一个值,从右到左识别匹配项。

加载脚本中使用该函数时:

  • 如果在 LOAD 语句中使用 SubFieldRegEx() 函数,且省略了 field_no,则函数生成的记录数与匹配记录数相同。

  • 如果使用 SubFieldRegEx() 加载多个字段,且没有一个字段指定 field_no 参数,则会创建所有组合的 Cartesian 产品。

图表表达式中使用函数时:

  • 如果省略 field_no,默认值为 1

函数示例
示例 结果
SubFieldRegEx('a,b c;1 2,3',' |,|;', 1) 返回 a。在本例中,指定了三个分隔符(空间、逗号和分号)。
SubFieldRegEx('a;b;c;1;2;3',';', 2) 返回 b。在这种情况下,只指定一个分隔符(分号)。
SubFieldRegEx('a,b c;1 2,3',' |,|;', 4) 返回 1

适用场景

您可以使用 SubFieldRegEx() 从分隔列表中提取多个单独的值。例如,如果您有一个逗号分隔的列表包含在一个更大的自然语言块中,您可以使用该函数将列表中的每个单独值分离到数据模型中的新记录中。

例 1 - 加载脚本,按交易分隔标签

例 2 - 按事务分离标记的图表表达式

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!