我有以下字符串
[custID] ='A99999999'
我正在尝试以下方法删除方括号和单引号
Regex.Replace(sql, "/[\[\]']+/g", " ")
但那不起作用。我一直得到相同的结果
注意:sql是一个包含上面字符串的变量。
我希望结果是
custID = A99999999
答案 0 :(得分:14)
\[
没有按照您的想法行事。 Regex
也不像Perl中的那样。试试这个:
Regex.Replace(sql, @"[\[\]']+", "");
答案 1 :(得分:1)
这是你要找的吗? ['\\/]
这应该匹配斜杠或单引号的任何单个字符。
答案 2 :(得分:1)
我认为你正在寻找Regex.Replace(sql, @"[\[\]']", " ")
; @引入了一个不需要转义的字符串,Regex.Replace
替换了所有匹配项,因此不需要g
标志 - 我认为这里不支持你的正则表达式语法。
答案 3 :(得分:1)
您可以使用:
Regex.Replace(sql, "[][']", "")
如果您想知道它是如何工作的,]
之后[
不会被视为结束,而是视为字面字符。
答案 4 :(得分:0)
您可以使用字符串拆分和连接,如下所示:
string sql = "[custID] = 'A99999999'";
var correctedString = string.Join("",sql.Split(new char[] {'[', ']', '\''}));
Console.Write(correctedString);
如果要使用正则表达式,请使用[\[\]']
替换它们。