Здравствуйте, я пытаюсь изменить любую строку на допустимую переменную, созданную с помощью Uppercore.
Так, например, если у меня есть следующее:
configGlossary:poweredByIcon -> CONFIG_GLOSSARY_POWERED_BY_ICON
124$32SomeSampleString_thatI_have -> SOME_SAMPLE_STRING_THAT_I_HAVE
myJSP -> MY_JSP but my regex produces MY_J_S_P
Сначала я использую функциючтобы создать подчеркивание в верхнем регистре из строки camelCase.
До сих пор я был в состоянии достичь требуемого результата для всего, кроме последнего примера результата, а также для случая, когда в начале строки есть числа.У меня есть следующее регулярное выражение.Это также удалит несколько подчеркиваний, если они есть.
String regex = "s/^[^a-zA-Z_]+|[^a-zA-Z_0-9]";
String result = variableName.replaceAll(regex, "_").replaceAll("\\_+", "_");
, поэтому мой вопрос заключается в том, как получить требуемый результат.Есть ли регулярное выражение, которое сделает меня допустимой переменной из любой строки?
И есть ли способ решить последний пример?