【发布时间】:2018-01-11 10:22:39
【问题描述】:
我需要替换字符串中的空格,但不是最后一次出现的空格。我尝试了一些正则表达式,但没有找到解决方案。
我有类似'ABCD;140 0 0 EUR;350 0 0 0 EUR' 的字符串,我需要将其设为ABCD;14000 EUR;350000 EUR'
我尝试了以下方法
select regexp_replace('ABCD;14000 EUR;350 0 0 0 EUR', '\s[^EUR]', '','g');
ABCD;14000 EUR;350 EUR
select regexp_replace('ABCD;14000 EUR;350 0 0 0 EUR', '\s', '', 'g');
ABCD;14000EUR;350000EUR
有什么建议或帮助吗?
-尼勒什
【问题讨论】:
-
试试
regexp_replace('ABCD;140 0 0 EUR;350 0 0 0 EUR', '\s+(?!\s*EUR)', '','g'),甚至'\s+(?!EUR)'或'\s+(?!EUR\y)'(其中\y是一个单词边界,以避免在EUROPE之类的单词之前删除空格)
标签: sql regex postgresql