如何在oracle中删除字符串中的特殊字符(pl / sql)

时间:2015-04-27 18:40:00

标签: regex oracle replace plsql oracle10g

我在oracle DB(Pl / sql)中没有编程经验我需要编写一个函数,我需要转义所有这些字符"(双引号):(冒号){{1给定字符串中的(反斜杠)。

我想我可以使用替换功能将所有这些字符\替换为"\"替换为\\\替换为:但我不知道一种有效的方法。

1 个答案:

答案 0 :(得分:3)

您可以使用REGEXP_REPLACE

SELECT REGEXP_REPLACE ( '\' || ':"', '([\:"])', '\\\1', 1, 0) from dual;

返回:

\\\:\"

第一个参数'\' || ':"'是您的输入字符串转义的替代品。第二个参数'([\:"])'是一个正则表达式,用于匹配要转义的字符。第三个参数'\\\1'是替换字符串:反斜杠和捕获组的内容。第四个参数1是字符串中要开始替换的起点; Oracle将字符串中的第一个字符计为第一个字符。第五个参数是要替换的模式的出现; 0表示全部替换它们。