Java string CamelCase traitement

Flog78 -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

je cherche à convertir une chaine de caractère string en entrée sous forme camelCase
ex : monNomDeVariable
sous cette forme
ex : mon_Nom_De_Variable

J'ai essayé
str.split("[a-z][A-Z]");
mais ca me tronque les premierre lettres : mo_o__ariable

J'ai essayé
str.replaceAll("[a-z][A-Z]", "_");
mais pareil j'obtient : mo_o__ariable

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Pourquoi s'embêter avec des expressions régulières quand une petite boucle suffit ?

    public static String convert(String str)
    {
    	StringBuilder sb = new StringBuilder();
    	for (char c : str.toCharArray())
    	{
    		if (Character.isUpperCase(c))
    			sb.append('_');
    		sb.append(c);
    	}
    	return sb.toString();
    }
    1