Regex para convertir CamelCase a camel_case en java
Entiendo por qué no se da la salida deseada para convertir usando regex una cadena comoFooBar
aFoo_Bar
que en cambio daFoo_Bar_
. Pude haber hecho algo con String.substringsubstring(0, string.length() - 2)
o simplemente reemplazó el último carácter, pero creo que hay una mejor solución para este escenario.
Aquí está el 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>
Pregunta: ¿Está buscando una forma más ordenada de obtener la salida deseada?