Как вставить _ char после каждого символа case в строке в intellij, используя регулярное выражение find / replace? - PullRequest
0 голосов
/ 28 ноября 2018

intellij имеет несколько хороших трюков, чтобы найти замену регулярному выражению,

У меня есть эта строка в файле:

tryingToTurnToConstStandard

, и я хочу превратить ее в:

TRYING_TO_TURN_TO_CONST_STANDARD

Мне удалось превратить его в

TRYINGTOTURNTOCONSTSTANDARD

Сделав это: enter image description here

То есть я включил регулярное выражение для поиска, и я ищудля символа длиной более 1 с помощью регулярного выражения: \ w +

Чтобы захватить результат, заключив его в круглые скобки

В поле замены я нацеливаюсь на единственную группу, которую использую, используя $ 1 Иоберните его с помощью \ U \ E - первый для верхнего регистра, а второй для завершения верхнего регистра (нижний регистр такой же, только с \ L)

Но я не могу найти, как вставить '_ 'char и делать все это за один поиск / замену, есть идеи?

edit: мне это нужно для общего случая, потому что у меня есть несколько переменных, для которых мне нужно это сделать, вот еще несколько примеров:

public static final String tryingToTurnToConstStandard = "";
public static final String thisIsAnotherExample = "";
public static final String backToTheFuture = "";
public static final String thisIsAVeryLongVariable = "";

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Это должно работать:

([a-z]*)([A-Z][a-z]*)

Заменить на \U$1_$2.

0 голосов
/ 28 ноября 2018

Попробуйте:

Поиск: ([a-z]+)([A-Z])([a-z]*) Замените: \U$1_$2$3

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