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 Java : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?