Как использовать Visual Studio Find and Replace для преобразования верхнего регистра в нижний регистр с помощью Regex

вот моя находка, что reg-ex, который соответствует всем тем, которые я собираюсь захватить.

<{_}{[A-Zs+]}{[a-z0-9]*}>

как _ColumnId, теперь как преобразовать символ верхнего регистра после _ в нижнем регистре эквивалент? (_columnId)

4 ответов


к сожалению, это невозможно сделать в общем виде. Соответствие шаблону довольно прямолинейно, как вы делаете с примерно следующим

_{[A-Z]}

выражение можно использовать для доступа к букве верхнего регистра. К сожалению, хотя нет никакого способа в VS сказать

пожалуйста, замените строчную версию этого выражения

Это ставит вас к стене. Единственный вариант - сделать поиск и замените для каждой из 26 букв. Очень труда intensize и не весело на всех.


для такого рода ограничений в VS2010 я всегда держу GVim под рукой. Просто вставьте туда весь текстовый файл, сделайте все, что нужно, а затем скопируйте результаты обратно. Для поиска и замены с помощью Vim см.

http://vim.wikia.com/wiki/Changing_case_with_regular_expressions

Я люблю VS2010 как IDE, но некоторые вещи, которые может сделать этот классический (бесплатный) редактор, по-прежнему не имеют себе равных.


вы можете создать базовую программу для чтения .VB или соответствующий файл построчно для символа, а затем использовать для следующего цикла, чтобы проверить все письма и внести необходимые изменения.


написание этого в качестве ответа вместо комментария к принятому ответу, поскольку мой уровень недостаточно высок, но вам действительно не нужно делать все 27 экземпляров, если все ваши слова не начинаются с другой буквы. Вы можете искать по одной букве за раз и сказать, если он найдет 10 экземпляров, которые начинаются с буквы "s", вы замените его на "S", поэтому теперь у вас есть 10 экземпляров, переименованных :P