我想使用 Oracle REGEXP_REPLACE 从字符串中删除一些点。如果存在,我必须从第二个点中删除。例如:
4 => 4
5 => 5
5.1 => 5.1
5.1.1 => 5.11
5.1.2 => 5.12
5.1.2.1 => 5.121
5.1.2.2 => 5.122
6 => 6
我有这个
select REGEXP_REPLACE(num, '(\d+)(\.)(\d+)(\.)(\d+)', '\1.\3\5')
from my_table;
问题是我的查询只针对两个点。如果字符串有两个以上的点,我必须修改查询以接受更多的点等等。有没有办法自动做到这一点?
谢谢