Je comprends pourquoi la sortie souhaitée n'est pas donnée pour convertir en utilisant REGEX une chaîne comme FooBar
en Foo_Bar
qui donne plutôt Foo_Bar_
. J'aurais pu faire quelque chose avec String substring(0, string.length() - 2)
ou simplement remplacer le dernier caractère, mais je pense qu'il y a une meilleure solution à un tel scénario.
Voici le 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
*/
Question : Vous cherchez un moyen plus soigné d'obtenir la sortie souhaitée ?