Ich verstehe, warum die gewünschte Ausgabe nicht für die Konvertierung mit Regex einer Zeichenfolge angegeben wird, wie FooBar
sie Foo_Bar
stattdessen angegeben wird Foo_Bar_
. Ich hätte etwas mit String.substring machen substring(0, string.length() - 2)
oder einfach das letzte Zeichen ersetzen können, aber ich denke, es gibt eine bessere Lösung für ein solches Szenario.
Hier ist der 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
*/
Frage: Suchen Sie nach einem besseren Weg, um die gewünschte Ausgabe zu erzielen?