【发布时间】:2019-12-07 03:45:34
【问题描述】:
我必须替换字符串中的最后 2 个特殊字符。我尝试了以下选项
它替换了我的字符串中的最后一个特殊字符
select regexp_replace(trim('Clifton/RosalieBolner''49-S.R.'),'([^0-9A-Za-z]+)$','') from dual;
它替换了我的字符串中的所有特殊字符
select regexp_replace(trim('Clifton/RosalieBolner''49-S.R.'),'[^0-9A-Za-z]','') from dual;
我需要一个只替换字符串中最后两个特殊字符的函数。
e.g 1 Clifton/RosalieBolner''49-S.R. should be
Clifton/RosalieBolner''49-SR
e.g 2 Hydroworx-Hydrotherapy-Hydrotr should be
HydroworxHydrotherapyHydrotr
e.g 3 Lenore&BillAlexander'35/Faulk should be
Lenore&BillAlexander35Faulk
【问题讨论】:
-
你应该解释你正在寻找的逻辑。为什么在第一个字符串
-没有被替换,而是在第二个 -
在第一个示例中,最后 2 个特殊字符是点。所以只有那些 2 必须被删除。在第二个中最后 2 个特殊字符是 - 并且那些 2 被删除