Séparer les mots d'une String [Résolu]

Messages postés
55
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
29 juin 2007
- - Dernière réponse : cs_tenthor
Messages postés
55
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
29 juin 2007
- 16 mai 2007 à 12:10
Bonjour,

Je vous explique ma situation. J'ai une chaine de caractères qui forment des mots. En fait ceux sont les noms des attribut d'une classe.
Par exemple "monAttribut". C'est en fait une deux mots "mon" et "attribut", qui sont uniquement séparer par une Majuscule.
J'aimerais faire un méthode qui prend en paramètre la chaine et qui renvoit un tableau de String contenant les différents mots constitués par la chaine en entrée. Je suis pas sur d'être bien clair. Dons mon exemple sa donnerait un truc du genre :
String[] mots = MaClasseString.getMots(String chaine);

Le problème c'est que je ne vois absolument pas comment faire ca, notamment comment répérer le caractère en majuscule.

Alors si vous avez des idées, des suggestions, je suis preneur.
Voilà merci de votre attention.
Tenthor.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
8
Date d'inscription
vendredi 10 février 2006
Statut
Membre
Dernière intervention
24 mai 2007
3
Merci
salut,
il existe une methode qui permet de savoir si une lettre est une majuscule :
public static boolean isUpperCase(char ch)

tu peut donc parcourir ta chaine et effectuer un traitement (ton découpage) si la lettre est une majuscule

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rudybaka
Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
16 mai 2007
9
3
Merci
Salut.
Je crois qu'il y a un moyen plus simple mais je te propose ma solution.
Tu pourrais parcourir ta chaine de caractères et tu stockes dans un nouveau string les caractères tant que tu ne rencontres pas une majuscule (à l'aide de la méthode Character
.isUpperCase(int)). 
Tu fais ça jusqu'à la fin.

A+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Commenter la réponse de scaryman
Messages postés
5341
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
10 décembre 2019
89
0
Merci
Salut,

Sinon tu peux faire une expresion reguliere pour détecter les maj pour y inserer un delimiteur unique ensuite tu utilises StringTokenizer ou split pour séparer tes mots .

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
Messages postés
55
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
29 juin 2007
0
Merci
Bonjour
Et merci à vous trois d'avoir répondu.

Les StringTokenizer, j'ai vu ca vite fait en cours, et j'ai pas compris grand chose. Mais merci quand même pour l'idée. Je travaillerais peut être cette solution plus tard.
J'ai donc utilisé les idées de rudybaka et scaryman. Je ne connaissais pas cette méthode Character.isUpperCase(char), c'est maintenant chose faite !

Ca fonctionne très bien et je valide les réponses.

Encore une fois, merci pour vos réponse.
Tenthor.
Commenter la réponse de cs_tenthor