【发布时间】:2017-01-18 11:16:31
【问题描述】:
我需要删除字符串末尾的“.0”,但我有一些问题。
在 PG 8.4 中我有这个表达式,它运行良好。
select regexp_replace('10.1.2.3.0', '(\\\\.0)+$', '');
结果是
'10.1.2.3' - 好结果。
但是PG更新到9.x版本后结果是
'10.1.2.3.0' - 输入字符串,它不正常。
我也尝试使用修剪功能
这种情况没关系
select trim('.0' from '10.1.2.3.0');
结果是 '10.1.2.3' - 好的
但是当我在代码末尾有 10 个时,我得到了意想不到的结果
select trim('.0' from '10.1.2.3.10.0');
或
select trim('.0' from '10.1.2.3.10');
结果是 10.1.2.3.1 - 0 是从 10 修剪的
有人可以建议我解决方案并解释 trim 功能有什么问题,以及最新版本中 regexp_replace 的变化是什么?
【问题讨论】:
标签: regex postgresql trim