Regex para converter CamelCase para camel_case em java
Eu entendo porque a saída desejada não é dada para converter usando regex uma string comoFooBar
paraFoo_Bar
que em vez disso dáFoo_Bar_
. Eu poderia ter feito algo com String.substringsubstring(0, string.length() - 2)
ou apenas substituiu o último caractere, mas acho que há uma solução melhor para esse cenário.
Aqui está o código:
<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>
Pergunta: Procurando uma maneira mais simples de obter a saída desejada?