正規表現を使用して変換するために必要な出力が与えられない理由を理解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
*/
質問:目的の出力を取得するためのより適切な方法をお探しですか?