Как использовать Visual Studio Find and Replace для преобразования верхнего регистра char в нижний регистр с помощью Regex
Вот мой Find What reg-ex, который соответствует всем тем, которые я собираюсь захватить.
<{_}{[A-Z\s+]}{[a-z0-9]*}>
Как _ColumnId, Теперь как преобразовать верхний регистр char после _ в нижний регистр? (_ColumnId)
Ответ 1
К сожалению, это невозможно сделать в общем виде. Соответствие шаблону довольно прямолинейно, поскольку вы делаете примерно следующие
_{[A-Z]}
Тогда выражение \1 можно использовать для доступа к букве верхнего регистра. К сожалению, хотя в VS нет способа сказать
Пожалуйста, замените нижестоящую версию этого выражения
Это подводит вас к стене. Единственный вариант - выполнить поиск и заменить для каждого из 26 букв. Очень интенсивная работа и вовсе не забава.
Ответ 2
Для таких ограничений в VS2010 я всегда поддерживаю GVim. Просто вставьте весь текстовый файл туда, сделайте все, что нужно, и затем скопируйте результаты. Для поиска и замены с помощью Vim см.
Мне нравится VS2010 как IDE, но некоторые вещи, которые может сделать этот классический (бесплатный) редактор, по-прежнему не имеют себе равных.
Ответ 3
Вы можете создать базовую программу для чтения .vb или соответствующего файла по строке для символа _, а затем использовать цикл for-next для проверки всех букв и внесения необходимых изменений.
Ответ 4
Написание этого как ответа вместо комментария к принятому ответу, поскольку мой уровень недостаточно высок, но вам действительно не нужно делать все 27 экземпляров, если только все слова не начинаются с другой буквы. Вы можете искать по одной букве за раз и сказать, если она найдет 10 экземпляров, которые начинаются с буквы "вы" замените ее на "S", так что теперь у вас есть 10 экземпляров, переименованных: P