我想替换一些赋值语句,如:
int someNum = txtSomeNum.Text;
int anotherNum = txtAnotherNum.Text;
与
int someNum = Int32.Parse(txtSomeNum.Text);
int anotherNum = Int32.Parse(txtAnotherNum.Text);
使用正则表达式,使用Visual Studio的查找和替换是否有一个很好的方法?我不确定正则表达式是什么。
答案 0 :(得分:59)
我认为在Visual Studio中,您可以使用花括号{txtSomeNum.Text}
标记表达式。然后在替换中,您可以使用\1
来引用它。因此,替换行将类似于Int32.Parse(\1)
。
更新: @ Timothy003
VS 11取消{} \ 1语法并使用()$ 1
答案 1 :(得分:7)
答案 2 :(得分:6)
这就是我想要的:
查找:= {。* \。文字}
替换:= Int32.Parse(\ 1)
答案 3 :(得分:2)
原始问题的最佳正则表达式是
find expr。:{:i \ .Text}
替换expr。:Int32.Parse(\ 1)
退房: http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.100%29.aspx
获取VS中正则表达式的权威指南。
我最近完成了从地狱重新格式化另一个程序员的C ++项目。他完全随意地输入,或随意遗漏,空格和制表符,缩进(或不),以及疯狂级别的括号嵌套,这样我们都不会用来编码任何类型的标准我开始之前甚至可以开始阅读代码。广泛使用正则表达式来查找和纠正异常结构。在几个小时内,我能够纠正大约125,000行代码中的主要问题,而无需实际查看大部分代码。在一个特定的单个查找/替换中,我在125个文件中更改了超过22,000行代码,总时间不到10秒。
正则表达式中特别有用的结构:
:b + ==一个或多个空格和/或标签。
:i ==匹配C风格的变量名称或关键字(即,如果, pick3,bNotImportant)
:Wh ==空白字符。不只是空白或标签
:Sm ==任何算术符号(+, - ,>,=等)
:Pu ==任何标点符号
\ n ==换行符(用于查找插入8或10个空行的位置)
^ ==匹配行的开头($匹配结束)
虽然匹配其他正则表达式标准(duh)会很不错,但我确实发现许多MS扩展对于搜索代码库非常有用,例如不必将“标识符”定义为数百次“ [A-Za-z0-9] +“,而只是使用”:i“。