Подтвердить что ты не робот

Как заменить заглавные буквы на строчные буквы с помощью регулярного выражения в Eclipse?

Я хотел бы просмотреть все мои файлы исходного кода и заменить каждое появление k_Xyyy на k_Xyyy (переключить первую букву после k_ от верхнего регистра к нижнему регистру).

Я использую диалог eclipse для поиска и замены нескольких файлов. Прямо сейчас у меня есть регулярное выражение \bk_([A-Z]).

Как указать строку замены регулярного выражения?

4b9b3361

Ответ 1

Это невозможно. Либо используйте функции повторного факторинга Eclipse, либо замените их по одному за раз:

regex       : \bk_A
replacement : k_a 

regex       : \bk_B
replacement : k_b 

...

regex       : \bk_Z
replacement : k_z 

Ответ 2

Я только что решил ту же задачу (должен был превратить интерфейс .net в java-интерфейс), используя силу VIM:)

void DoMethod1 -> void doMethod1
Foo PerformMethod2 -> Foo performMethod2
:%s/\(^\s*\w\+\s\+\)\([A-Z]\)/\1\L\2/g

Здесь мы ищем (необязательный отступ, за которым следует тип возврата, за которым следует пробел), а затем (буква с верхним регистром). Брекеты захватывают группы. Затем мы выполняем замену первой группы захвата \1 нижнего регистра \L второй группы захвата \2.

Это, конечно, требует, чтобы вы открывали файл в Vim, но в любом случае это намного быстрее, чем делать то же самое вручную в Eclipse.

Ответ 3

Мне нужно было сделать это для огромного фрагмента исходного кода, где строковые литералы нужно было преобразовать в нижний регистр. Я нашел способ использования Notepad ++ и плагина Python Script, как используется здесь.

Ответ 4

(для меня, поскольку я только начал программировать, это было более интересно думать) Возьмите $pattern_to_change и преобразуйте его из ascii в десятичный с помощью ord(). Получите итоговое число делений и добавьте 32. Затем преобразуйте $desired_pattern обратно в ascii с помощью chr().

Или просто скачайте SublimeText и используйте функцию "Найти и заменить" для поиска "Найти все" и замените их разностным текстом (Sublime также имеет регулярное выражение).

Я уверен, что вы могли бы преобразовать один миллиард вручную, так как этот пост, как 5 лет, но вы могли бы завершить это через 5 минут с Sublime.

Действительно полезный текстовый редактор.