2012-12-15 64 views
-1

我需要找到提到的lambda語句並將其從我的代碼中刪除。我的項目非常龐大,我注意到在Visual Studio的查找和替換框中,有一個參數可以使用正則表達式來查找和替換代碼。是否有一個正則表達式可以完全找到這個語句(也包含換行符和空格)?查找並替換正則表達式C#

() => 
     { 
     CallMethod() 
     }, 

回答

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

希望這將是對你有所幫助。

+0

非常感謝! – mohammad