-1

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

() =>
      {
        CallMethod()
      },
4

1 回答 1

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);

希望这对您有所帮助。

于 2012-12-15T12:08:58.363 回答