Я понимаю , почему желаемый результат не дается для преобразования с использованием регулярных выражений в строку , как 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
*/
Вопрос: Ищете более аккуратный способ получить желаемый результат?