在C#VS2008中如何替换
intA = (int)obj.GetStr("xxx");
到
intA = int.Parse(obj.GetStr("xxx"));
我有很多行代码都有这种模式。我只想通过使用一些正则表达式来传递编译。
答案 0 :(得分:2)
尝试使用以下正则表达式进行搜索和替换:
编辑:将AAA,BBB,CCC值替换为您要匹配和替换的相应方法名称。小心使用:i(标识符)匹配谓词,因为它匹配任何方法调用 - 您可能不需要。
查找:(查找对GetStr的任何表达式的任何调用)
\(int\){.+}\.{(GetStr|AAA|BBB|CCC)}\({.*}\);
替换为:
Convert.ToInt32(\1.\2(\3));
或(正如其他人提到的那样)替换为:
Int.Parse(\1.\2(\3));
答案 1 :(得分:1)
我也不喜欢新版本。当您知道自己有字符串时,int.Parse()
或int.TryParse()
可能更合适。
答案 2 :(得分:0)
您是否尝试过搜索和替换?
搜索'intA =(int)obj.GetStr(“',替换为'intA = Convert.ToInt32(obj.GetStr(”'。。
答案 3 :(得分:0)
这是LBushkin建议的变体:
find: \(int\){:i\.:i\(:q\)}
replace: int.Parse(\1)