Преобразование VB -> C #.Регулярное выражение для изменения ("abc") в ["abc"] - PullRequest
1 голос
/ 09 июля 2010

В настоящее время мы конвертируем нашу старую базовую VB.Net в C #. Преобразование большей части кода не является проблемой .. Есть хорошие конвертеры вокруг. Проблема, с которой мы сталкиваемся, заключается в том, что ни один из протестированных преобразователей не может преобразовать () в [] в массивах и коллекциях.

Пример: от сеанса ("abcd") к сеансу ["abcd"] ;. Конвертеры считают, что Session - это метод / функция, и оставляют с круглыми скобками.

У меня вопрос: есть ли регулярное выражение, которое можно использовать при поиске / замене в Visual Studio 2008, которое может сделать эту замену? Зачем делать это вручную, чтобы устать, когда приходится делать это более 200 раз за урок.

Спасибо за внимание

1 Ответ

1 голос
/ 12 июля 2010

Если вы хотите автоматизировать это, вам нужен конвертер, который может анализировать код VB.NET, как это делает компилятор.

Если вы просто хотите заменить Session (whatever) на Session [whatever], вы можете найти обычное выражение (Session *)\((.*?)\) и заменить на $1[$2]. Или выполните поиск ((?:Session|otherkeyword|thirdkeyword) *)\((.*?)\) и замените его тем же, если перед вашими массивами могут находиться несколько ключевых слов.

Мои регулярные выражения в стиле Perl. Они будут работать во многих современных текстовых редакторах, а также с классом .NET Regex. VS IDE имеет свой собственный вкус регулярных выражений, который на самом деле не совместим ни с чем другим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...