Postgresql:删除某些类型的数字之间的空格
Posted
技术标签:
【中文标题】Postgresql:删除某些类型的数字之间的空格【英文标题】:Postgresql: removing spaces between certain type of digits 【发布时间】:2018-02-24 09:00:06 【问题描述】:我有一列地址,例如'01031 970 São Paulo SP, BR'
。
我想删除邮政编码之间的空格。邮政编码可以出现在地址中的任何位置,例如'São Paulo 01031 970 SP, BR'
。
结果应该是'São Paulo 01031970 SP, BR'
或'01031970 São Paulo SP, BR'
regexp_replace(address, ,'(\s*[0-9]5\s+[0-9]3\s+)','(\s*[0-9]5[0-9]3\s+)', 'g')
显然不起作用,但我正在寻找可以完成这项工作的等效项。
【问题讨论】:
【参考方案1】:试试这个查询:
update your_table
set address = regexp_replace(address, '([0-9]5)\s+([0-9]3)', '\1\2', 'g')
【讨论】:
您能否详细说明“不起作用”?我认为我的正则表达式是正确的。 对不起,我的错误。是的,如果您在开头省略\s*
并在结尾省略 \s+
(如您的正则表达式),它确实有效。感谢您的帮助!以上是关于Postgresql:删除某些类型的数字之间的空格的主要内容,如果未能解决你的问题,请参考以下文章