[5.0] Ne garder que les caractères essentiels
Bonjour,
J'ai une problématique assez basique.
J'ai une chaîne de caractères dans laquelle je veux :
- Tout mettre en majuscules
- Supprimer les accents
- Remplacer les caractères spéciaux par des espaces
- Supprimer les espaces inutiles (début, fin et doubles espaces)
Etant en Java 5, voilà comment j'ai procédé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| // Tout mettre en majuscules
String chaineIntermediaire = chaineInitiale.toUpperCase();
// Supprimer les accents
ville = Normalizer.normalize(chaineIntermediaire, Normalizer.DECOMP, 0).replaceAll("[\u0300-\u036F]", "");
// Remplacer les caractères spéciaux par des espaces
String chaineFinale = "";
for (Character ch : chaineIntermediaire.toCharArray()) {
if (Character.isLetterOrDigit(ch))
chaineFinale += ch;
else
chaineFinale += " ";
}
// Supprimer les espaces inutiles
chaineFinale = chaineFinale.trim(); |
Je trouve la méthode un peu lourde, n'y a-t-il pas moyen de faire plus simple ?
Je n'arrive pas à supprimer les doubles espaces de manière simple, une idée ?