首页 > 解决方案 > regexp_replace 替换数字中的逗号

问题描述

如果逗号是字符串中 Amount 的一部分,我需要替换逗号并保持其余字符不变。

之前:'AAAA, 095,3 USD , ALL IS Good ,5324, agx3, xxyy 24 yz'
之后:'AAAA, 0953 USD , ALL IS good ,5324, agx3, xxyy 24 yz'

用作字符串之间分隔符的逗号需要保留,并且可以替换为更易于识别的内容。(我用管道作为分隔符)

我在下面尝试过,但需要建议来纠正它:

select regexp_replace('AAAA, **0953 USD**, ALL IS good ,5324, agx3, xxyy 24 yz','[^a-zA-Z0-9]+','|'); 

结果

AAAA|0953|USD|ALL|IS|good|5324|agx3|xxyy|24|yz

需要:

AAAA|0953 USD|ALL IS good|5324|agx3|xxyy 24|yz

标签: regexreplace

解决方案


如果支持环视,这将起作用:

(?<=\d),(?=\d)

推荐阅读