2013-01-08 36 views
0

我有這個簡單的代碼:C#正則表達式刪除 '[]'

Regex remove2 = new Regex("[(\"{}\r)]"); 
str = remove2.Replace(str, ""); 

我需要刪除:[]字符,怎麼辦呢?

當我簡單地添加[]""它不起作用。

+1

'\'應該工作 –

回答

0

你需要躲避[和]字符 - 嘗試

Regex remove2 = new Regex("\[(.*)\]"); 
str = remove2.Replace(str, "$1"); 

通過包裝括號中你是在節能效果,以便以後的使用模式的一部分。它可以通過替換命令中的構造$ 1訪問。如果你有內獲得的第二串括號這將是通過$ 2個訪問等

+0

現在我有錯誤:無法識別的轉義序列\後,我試圖用雙倍\但仍然沒有工作。 –

0

沒有正則表達式但也去掉括號:

str = new string(str.Where(c => !"[]".Contains(c)).ToArray()); 
0

如果要添加括號 - 特別是一個] - 到在RE中匹配,你必須小心你放置的位置;它必須是集合中的第一個字符(因爲您不允許創建空集)。所以......

Regex remove2 = new Regex("[][(\"{}\r)]") 
0

這個簡單的代碼將刪除方括號:。* \]

 string str1 = "test=[[]]][[]"; 
    string res = Regex.Replace(str1, "[][]","");