2016-01-04 73 views
-3

我需要在VS2010中使用正则表达式的帮助。我想找到:VS2010查找并替换数字列表

Environment.Exit(0); ... 
Environment.Exit(0); 

,取而代之的是:

File.WriteAllText("code",1); Environment.Exit(0); ... 
File.WriteAllText("code",2); Environment.Exit(0); 

我只需要知道我的程序终止。所以我有很多Environment.exit在不同的文件。

+2

一个更好的选择将是您的通话重构为'Environment.Exit(..)'。这会给你一个从编码角度退出的单点,你可以在离开应用程序之前检查调用堆栈。 –

+0

我有50多个Env.Exit()的调用只是technickly我需要更换此代码 –

回答

0

试试这个

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Text.RegularExpressions; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      string input = "Environment.Exit(0);" + 
          "Environment.Exit(0);"; 
      string output = Regex.Replace(input, @"Environment.Exit\(0\);", new MatchEvaluator(MyReplacement)); 
     } 
     static int count = 1; 
     static string MyReplacement(Match match) 
     { 
      return string.Format("File.WriteAllText(\"code\",{0}); Environment.Exit(0);", count++); 
     } 
    } 
}​ 
+0

谢谢,但我仍然希望标准的视觉工作室搜索工具将解决我的问题。但是,正如你所建议的,解决这一任务的最有效的方法是编写另一个程序来完成主程序的编写。 –

+0

VS编辑器没有像一些更复杂的编辑器那样增加数值的宏功能。 – jdweng