Netsuite 保存搜索公式
Netsuite saved Search Formula Trimming a Word
我正在尝试获取单词旁边的数字。例如“1bot 10box 100cs”我在 netsuite 中有另一个字段 "BOX"。我需要的是单词框旁边的数字,在我的示例中是 10。
我已经尝试过 Ltrim 和 Rtrim
regexp_substr((REPLACE((REPLACE({unitstype}, ' ', '-')),{transaction.unit},'^')), '[^-]+')
我希望输出将是我搜索的单词旁边的数字。
示例 1。
字段 A
等于 BOX
,字段 B
等于 "1pc 10flp 100box 1000cs"
结果应该是 100
result = 100
请参阅下面使用您提供的输入的示例:
REGEXP_SUBSTR('1pc 10flp 100box 1000cs', '(\d+)BOX',1,1,'i',1)
结果 = 100。
假设字段 A
是 {unitstype}
,字段 B
是 {transaction.unit}
,这将变为:
REGEXP_SUBSTR({transaction.unit}, '(\d+)' || {unitstype},1,1,'i',1)
解释:
REGEXP_SUBSTR
returns 给定源字符串的子字符串,由正则表达式定义。
第一个参数:源字符串。
第二个参数:正则表达式匹配模式
第三个参数:开始搜索的位置。默认为 1,但在这里明确设置,因为我们要使用后面的参数。
第四个参数:与return匹配的模式出现在哪一个。同样,默认为 1,在这里明确设置,因为我们要使用后面的参数。
第 5 个参数:一个匹配参数,可让您更改函数的默认匹配行为。在这种情况下,我使用 'i'
来指定不区分大小写的匹配,因为您在一个字段中有大写字母 'BOX' 而在另一个字段中有小写字母。
第 6 个参数:指定要 return 的正则表达式中的哪个捕获组。在这种情况下,您希望数字紧接在单位类型之前,因此您可以将数字和单位匹配在一起,但使用数字周围的括号将其定义为捕获组,然后您可以使用此参数 return。