Я понимаю, почему желаемый результат не задан для преобразования с использованием regex строки типа FooBar
в Foo_Bar
, которая вместо этого дает Foo_Bar_
. Я мог бы что-то сделать с String.substring substring(0, string.length() - 2)
или просто заменить последний символ, но я думаю, что есть лучшее решение для такого сценария.
Вот код:
String regex = "([A-Z][a-z]+)";
String replacement = "$1_";
"CamelCaseToSomethingElse".replaceAll(regex, replacement);
/*
outputs: Camel_Case_To_Something_Else_
desired output: Camel_Case_To_Something_Else
*/
Вопрос: Ищете более простой способ получить желаемый результат?