Regex für die Konvertierung von CamelCase nach camel_case in Java
Ich verstehe, warum die gewünschte Ausgabe für die Konvertierung mit Regex eine Zeichenfolge wie nicht gegeben istFooBar
zuFoo_Bar
was stattdessen gibtFoo_Bar_
. Ich hätte etwas mit String.substring machen könnensubstring(0, string.length() - 2)
oder nur das letzte Zeichen ersetzt, aber ich denke, es gibt eine bessere Lösung für ein solches Szenario.
Hier ist der Code:
<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>
Frage: Suchen Sie nach einer saubereren Methode, um die gewünschte Ausgabe zu erzielen?