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+
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("(-|'|:|_|!|?|;|,|§|(|))", ""); .....
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