2011-05-09 99 views
5

我有以下字符串刪除方括號和單引號的正則表達式不工作

[CUSTID] =「A99999999」

我想下面的刪除方括號,單引號

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

但這不起作用。我一直得到相同的結果

注意:sql是一個變量,它包含上面的字符串。

我想要的結果是

CUSTID = A99999999

回答

14

\[不符合您的想法。 Regex也不是Perl中的一樣。試試這個:

Regex.Replace(sql, @"[\[\]']+", ""); 
1

這是你在找什麼? ['\\/]

這應該匹配任何斜槓或單引號的單個字符。

0

您可以使用字符串分割和結合​​象下面這樣:

 string sql = "[custID] = 'A99999999'"; 
     var correctedString = string.Join("",sql.Split(new char[] {'[', ']', '\''})); 
     Console.Write(correctedString); 

如果你想使用正則表達式使用[\[\]']來替換那些。

1

我認爲你正在尋找Regex.Replace(sql, @"[\[\]']", " "); @引入了一個你不需要轉義的字符串,Regex.Replace代替了所有的匹配項,所以不需要g標誌 - 我想這裏不支持你的正則表達式語法。

1

您可以使用此:

Regex.Replace(sql, "[][']", "") 

如果你想知道這是如何工作的,][之後不被視爲結束,但作爲文字字符。