Salut
Je voulais savoir s'il existe une fonction qui permet de passer les String en majuscule en supprimant tous les accents. Je n'ai vraiment pas envie de la créer moi-même.
Salut
Je voulais savoir s'il existe une fonction qui permet de passer les String en majuscule en supprimant tous les accents. Je n'ai vraiment pas envie de la créer moi-même.
Bonjour,
J'avais fait une méthode à voir là :
http://www.developpez.net/forums/vie...t=caract%E8res
a+
Snoop
tu peux par exemple utiliser la méthode replace :
Mais il y a sans doute d'autres façons de faire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 taString.replace("é", "e"); taString.replace("è", "e"); ...
Merci pour vos réponses, mais je crois que je n'ai pas été assez précis. Je souhaite également enlever tous les caractères unicodes, spéciaux et autres pour ne garder que les lettres de A à Z (en majuscule).
Il y a aussi des JTextArea dans l'application et je dois enlever les sauts de lignes, tabulation ...
J'ai commencé à faire ma méthode à la main mais pour les caractères unicodes je bloque.
Merci pour les coups de main
Et en utilisant les expressions régulières...
exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 result = result.replaceAll("(-|'|:|_|!|?|;|,|§|(|))", ""); .....
Snoop
Ce que j'ai fait c'est :
Mais le problème c'est qu'il reste tous les caractères unicode. Et là je ne parviens pas à les enlever.
Code : 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
18
19
20
21
22
23
24
25
26 public static String toUpperCaseSansAccent(String chaine) { if (chaine == null) return null; String temp = ""; for (int i=0; i < chaine.length(); i++) { if (! ((chaine.charAt(i) < 48 && chaine.charAt(i) != 32) || chaine.charAt(i) == 255 || chaine.charAt(i) == 208 || chaine.charAt(i) == 209 || chaine.charAt(i) == 215 || chaine.charAt(i) == 216 || (chaine.charAt(i) < 65 && chaine.charAt(i) > 57) || (chaine.charAt(i) < 192 && chaine.charAt(i) > 122) || (chaine.charAt(i) < 65 && chaine.charAt(i) > 57))) { temp = temp + chaine.charAt(i); } } temp = temp.toUpperCase(); temp = temp.replace('Ý', 'Y'); temp = temp.replaceAll("Ù | Ú | Û | Ü", "U"); temp = temp.replaceAll("Ò | Ó | Ô | Õ | Ö", "O"); temp = temp.replaceAll("Ì | Í | Î | Ï", "I"); temp = temp.replaceAll("È | É | Ê | Ë", "E"); temp = temp.replace('Ç', 'C'); temp = temp.replaceAll("À | Á | Â | Ã | Ä | Å | Æ", "A"); return temp; }
Je progresse mais ce n'est pas terminé. Moi qui ne voulais pas développer la fonction ...![]()
J'ai un peu le même problème que toi : je suis en train de développer un petit générateur de code HTML et les caractère à accent etc ne sont pas tolérés.
Je souhaiterais les convertir.
Sur
http://www.chez.com/starshoot/html/caractere.htm
ils nous expliquent que c'est à partir du code ascii>128 que les caractères deviennent "spéciaux".
Mais avec l'exemple de la faq pour récupérer le code ascii d'un caractère, le code que je récupère ne correspond pas à ce qui est indiqué dans le tableau...
--> le caractère é par exemple retourne 63 au lieu de 233.![]()
Quelqu'un peut m'éxpliquer comment je peux récupérer le code de mes char dans la bonne base?![]()
Désolé de vous avoir embêté :
répond à ma question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String chaine = "é"; System.out.println((int) chaine.charAt(0));![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager