代わりにのようFooBar
な文字列を正規表現を使用して変換した場合に、目的の出力が得られない理由を理解しています。私は String.substring で何かをしたり、最後の文字を置き換えたりすることができましたが、そのようなシナリオにはもっと良い解決策があると思います.Foo_Bar
Foo_Bar_
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
*/
質問: 目的の出力を得るためのより適切な方法をお探しですか?