去除方括号和单引号的正则表达式无效

5

我有以下字符串

[custID] = 'A99999999'

我正在尝试以下操作以删除方括号和单引号

Regex.Replace(sql, "/[\[\]']+/g", " ")

但是这并没有起作用,我不断得到相同的结果。

注意:sql是一个包含上述字符串的变量。

我希望结果为

custID = A99999999

5个回答

14
\[不会做你认为它会做的事情。而且Regex与Perl中的不同。请尝试使用以下内容:
Regex.Replace(sql, @"[\[\]']+", "");

2

这是您在寻找的吗?['\\/]

这将匹配任何一个斜杠或单引号字符。


1
我认为你正在寻找 Regex.Replace(sql, @"[\[\]']", " ");@引入了一个字符串,您不需要转义,Regex.Replace替换所有匹配项,因此不需要g标志-我认为这里不支持您的正则表达式语法。

1
你可以使用这个:
Regex.Replace(sql, "[][']", "")

如果你想知道它是如何工作的,[后面的]不会被视为关闭,而是视为文字字符。

0
你可以像下面这样使用字符串分割和连接:
        string sql = "[custID] = 'A99999999'";
        var correctedString = string.Join("",sql.Split(new char[] {'[', ']', '\''}));
        Console.Write(correctedString);

如果你想使用正则表达式,可以使用[\[\]']来替换它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接