如何使用c#删除括号内的所有文本?

时间:2015-02-25 23:44:51

标签: c# regex

这是一个例子:

(abad_string.cpp To abad_string.cpp :  0.00%
Data Type: 0.00%
Control Structure: 0.00%
0 VARIABLES are the same

abad_string.cpp To Alarcon_string.cpp :  81.03%
Data Type: 100.00%
Control Structure: 0.00%
2 VARIABLES are the same

)

Alarcon_string.cpp To abad_string.cpp :  81.03%
Data Type: 100.00%
Control Structure: 0.00%
2 VARIABLES are the same

Alarcon_string.cpp To Alarcon_string.cpp :  0.00%
Data Type: 0.00%
Control Structure: 0.00%
0 VARIABLES are the same

)

我想删除括号内的所有文字... 我想要这样的结果..

Alarcon_string.cpp To abad_string.cpp :  81.03%
Data Type: 100.00%
Control Structure: 0.00%
2 VARIABLES are the same

Alarcon_string.cpp To Alarcon_string.cpp :  0.00%
Data Type: 0.00%
Control Structure: 0.00%
0 VARIABLES are the same

)

我尝试使用此代码但所有文本都已删除:(

richTextBox1.Text = Regex.Replace(
    richTextBox1.Text, "((.*?)\n)", "", RegexOptions.Multiline);

请帮助。 TIA!

1 个答案:

答案 0 :(得分:0)

您可能想尝试以下解决方案。您通常必须分隔括号等特殊字符,以便在RegEx表达式中使用它们。

(\(.*?\))*

此外,根据您放入RexEg计算机的文本类型,此问题有两种解决方案。如果您在文本中使用新行,则应使用@"(\([\S\s]*?\))*"。 [\ S \ s]表示任何空间或非空间。换句话说,字面上任何ASCII字符。如果您不使用新行,则只需使用@"(\(.*?\))*"


  

使用新行

richTextBox1.Text = Regex.Replace(richTextBox1.Text, @"(\([\S\s]*?\))*", "");
  

不使用新行

richTextBox1.Text = Regex.Replace(richTextBox1.Text, @"(\(.*?\))*", "");