Regex do konwersji CamelCase na camel_case w java

Rozumiem, dlaczego żądane wyjście nie jest podane do konwersji za pomocą wyrażenia regularnego, takiego jakFooBar doFoo_Bar co dajeFoo_Bar_. Mogłem coś zrobić z String.substringsubstring(0, string.length() - 2) lub po prostu zastąpiłem ostatnią postać, ale myślę, że istnieje lepsze rozwiązanie takiego scenariusza.

Oto kod:

<code>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
*/
</code>

Pytanie: Szukasz lepszego sposobu na uzyskanie żądanego wyjścia?

questionAnswers(9)

yourAnswerToTheQuestion