我们目前正在将旧的基础VB.Net转换为C#。转换大部分代码不是问题。周围有很好的转换器。我们面临的问题是,所测试的转换器都不能在数组和集合中的[]中转换()。
示例:Session(“abcd”)到Session [“abcd”];。转换器认为Session是一个方法/函数,并留有括号。
我的问题是:是否有任何正则表达式可用于Visual Studio 2008中的查找/替换,可以进行此替换?当你每班必须做200次以上时,为什么要手动累了呢。
感谢您的关注
答案 0 :(得分:1)
如果要自动执行此操作,则需要一个可以像编译器那样解析VB.NET代码的转换器。
如果您只想将Session (whatever)
替换为Session [whatever]
,则可以搜索常规展示(Session *)\((.*?)\)
并替换为$1[$2]
。或者搜索((?:Session|otherkeyword|thirdkeyword) *)\((.*?)\)
,如果阵列之前有多个关键字,请替换为{{1}}。
我的正则表达式是Perl风格。它们可以在许多现代文本编辑器以及.NET的Regex类中工作。 VS IDE有自己的正则表达式,与其他任何东西都不兼容。