2010-07-09 42 views
1

我們目前正在將舊的基礎VB.Net轉換爲C#。轉換大量的代碼不是問題..周圍有很好的轉換器。我們面臨的問題是沒有一個測試過的轉換器可以在數組和集合中將[]轉換爲[]。轉換VB - > C#。在[「abc」]中修改(「abc」)的正則表達式

示例:會話(「abcd」)爲會話[「abcd」] ;.轉換器認爲會話是一種方法/功能,並留下括號。

我的問題是:是否有任何正則表達式可用於查找/替換在Visual Studio 2008中,可以使此替換?爲什麼在每堂課需要做200次以上時,需要手動才能累?

感謝您的關注

+1

我想不出一個正則表達式來幫助你(因爲方法調用的語法與用於索引集合的方法相同),但假設你可以編寫一個程序來解析編譯器的錯誤消息,然後使用該信息以自動方式修復語法。 – Douglas 2010-07-09 13:17:31

回答

1

如果你想自動完成這個,你需要一個轉換器,可解析等不會編譯VB.NET代碼。

如果您只想將Session (whatever)替換爲Session [whatever],則可以搜索常規經驗(Session *)\((.*?)\)並替換爲$1[$2]。或者搜索((?:Session|otherkeyword|thirdkeyword) *)\((.*?)\),如果有多個關鍵字可以位於陣列之前,則替換爲相同的關鍵字。

我的正則表達式是Perl風格的。他們將在許多現代文本編輯器以及.NET的Regex類中工作。 VS IDE有自己的正則表達式,與其他任何東西都不兼容。

+0

1月,您的提示對我找到解決方案非常有用。 我所做的是: 字段「找到什麼」:(Session \(){。*}(\)) field「replace whit」:Session \ [\ 1 \] 它的工作原理與我想要的完全一樣。 謝謝 – 2010-07-12 13:33:22

相關問題