试试这个替换
Regex.Replace("text1 (text2) text3", // Input
@"([()])", // Pattern to match
string.Empty) // Item to replace
/* result: text1 text2 text3*/
解释
正则表达式替换在整个字符串中查找匹配项。如果找到匹配项,它将替换该项目。所以我们的匹配模式看起来像这样([()])
。这意味着
(
是模式中开始匹配所需的内容,需要关闭,)
否则匹配模式不平衡。
[]
在模式中说,我正在寻找一个字符,[
并]
定义一个集合。它们被认为是固定匹配。最常见的是 [AZ],它是任何字符集,以 A 开头并以 Z 结尾。我们将定义自己的集合。*请记住 [ 和 ] 表示正则表达式我们正在寻找1 个字符,但我们在其中指定了一组许多字符。
(
在我们的)
集合[()]
中也可以指定,[)(]
这意味着我们有一组两个字符。这两个字符是左括号和右括号()
。
因此,综上所述,我们希望匹配 (1) 集合 (2) 中的任何字符,即 a ( 或 a )。找到该匹配项后,将 ( 或 ) 替换为 string.empty。
当我们对您的文本运行正则表达式替换时,它会发现两个匹配(
text2 和最后匹配 text2 )
。那些被替换为 string.empty。