目前,我面临着一个问题,我在LookerStudio中使用数字作为文本,并希望在保持其作为文本的同时为其添加一千个分隔符。
我使用的值是12345678,我希望它是12345678
我尝试使用以下REGEXP_REPLACE
函数:
CONCAT("Value = ", REGEXP_REPLACE(CAST(my_value AS TEXT),"\\B(?=(\\d{3})+(?!\\d))", ","))
字符串
这导致了一个损坏的字段。经过进一步的调查,引用https://github.com/google/re2/wiki/Syntax,?=和?!部分不受支持。有人可以帮助解决这个问题吗?
1条答案
按热度按时间utugiqy61#
您不能在RE 2模式中使用lookarounds。
但是,如果您知道可以有最大数量的数字分组(这里通常不超过四个-高达数十亿),则可以采用一种变通方法,并嵌套
REGEXP_REPLACE
函数,如字符串
然后,修剪字符串开始/结束处的逗号。
图案吻合
,*
-零个或多个逗号(\d{3})
-第1组:三位数\b
-字边界,*
-零个或多个逗号。,$1
替换用逗号和Group 1值替换匹配项。