查找并替换正则表达式C#

时间:2012-12-15 11:16:17

标签: c# regex visual-studio replace

我需要找到提到的lambda语句并将其从我的代码中删除。我的项目非常大,我注意到在Visual Studio的查找和替换框中,有一个参数可以使用正则表达式来查找和替换代码。是否有正则表达式可以完全找到此语句(还包含换行符和空格)?

() =>
      {
        CallMethod()
      },

1 个答案:

答案 0 :(得分:1)

我担心VS IDE在单行模式下使用正则表达式(考虑到它在建议菜单中提供了\ n,这实际上很奇怪)。我认为你会更好地创建一个新项目,它将加载文件,从中读取所有文本,并替换你指定的任何正则表达式,然后保存文件。

基本上你需要的正则表达式是这样的:

(\(\ *\)\ *=\>[\r\n\s\{\}]*CallMethod\ *\(\ *\)[\r\n\s\{\}]*,)

在C#代码中,您可以这样做:

System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"(\(\ *\)\ *=\>[\r\n\s\{\}]*CallMethod\ *\(\ *\)[\r\n\s\{\}]*,)", System.Text.RegularExpressions.RegexOptions.Multiline);
regex.Replace(document, string.Empty);

希望这会对你有所帮助。