转换VB - > C #。在[“abc”]中修改(“abc”)的正则表达式

时间:2010-07-09 13:06:28

标签: regex visual-studio-2008 refactoring

我们目前正在将旧的基础VB.Net转换为C#。转换大部分代码不是问题。周围有很好的转换器。我们面临的问题是,所测试的转换器都不能在数组和集合中的[]中转换()。

示例:Session(“abcd”)到Session [“abcd”];。转换器认为Session是一个方法/函数,并留有括号。

我的问题是:是否有任何正则表达式可用于Visual Studio 2008中的查找/替换,可以进行此替换?当你每班必须做200次以上时,为什么要手动累了呢。

感谢您的关注

1 个答案:

答案 0 :(得分:1)

如果要自动执行此操作,则需要一个可以像编译器那样解析VB.NET代码的转换器。

如果您只想将Session (whatever)替换为Session [whatever],则可以搜索常规展示(Session *)\((.*?)\)并替换为$1[$2]。或者搜索((?:Session|otherkeyword|thirdkeyword) *)\((.*?)\),如果阵列之前有多个关键字,请替换为{{1}}。

我的正则表达式是Perl风格。它们可以在许多现代文本编辑器以及.NET的Regex类中工作。 VS IDE有自己的正则表达式,与其他任何东西都不兼容。