Oracle Regexp_replace

时间:2016-12-29 13:43:16

标签: sql oracle

我想用“&”替换所有'Spaces' '排除'| '在regexp_replace

对于Ex:'创建|删除帐户' - >期望输出为'创建|删除&帐户”。

我正在尝试使用sql

select regexp_replace('create | delete account','\s [^\s\|\s]',' & ') from dual

但我在这里做错了。有人可以帮忙吗。

2 个答案:

答案 0 :(得分:3)

我认为这就是你想要的:

select regexp_replace('create | delete account', '([^\|]) ([^\|])', '\1 & \2')
from dual

这里的逻辑是在两个非管道字符之间出现空格时进行替换。我使用括号捕获这些字符,然后通过\1\2替换它们。

答案 1 :(得分:0)

如果您需要使用字符串'&'替换每个空格,并且在起始字符串中没有select replace ( replace('create | delete account', ' ', ' & '), ' & | & ', ' | ') from dual ,则可以避免使用正则表达式:

class MyJsonObject
{
    public string Vorname;
    public int AusweisNr;
    public int MitgliedsNr;
    public string returnstr;
    public int returncode;
}