Страницы

Поиск по вопросам

суббота, 15 июня 2019 г.

Как менять регистр английских букв в Visual Studio с помощью регулярных выражений?

Рефакторю большой проект с помощью Visual Studio Find and Replace и не получается менять регистр с помощью регулярных выражений. Интересны только большие английские буквы. Нужно заменить UPPERCASE на TitleCase внутри определённых символов. Например, нужно заменить USER NAME на User Name


Ответ

Предлагаю решение, основанное на возможностях Notepad++. В окне "Найти в файлах" выберите необходимый путь к папке с файлами, задайте маску и используйте следующие значения для двух полей:
Найти:            (?:\G(?!^)|)\s*[^<\s]\K[^<\s]* Заменить на: \L$&
Подробности
(?:\G(?!^)|) - найти , а все последующие совпадения должны начинаться с того места, где закончилось предыдущее \s* - 0+ пробельных символов [^<\s] - 1 символ, отличный от < и пробельного символа \K - оператор, удаляющий весь текст из текущего совпадения [^<\s]* - 0 и более символов, отличных от < и пробельного символа
Шаблон замены:
\L - оператор замены символов на строчные $& - во всем найденном совпадении
Примечание. Опцию и новые строки задавать необязательно. Во всех подпапках обработает файлы с заданной маской во всех подпапках.

Комментариев нет:

Отправить комментарий