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

cs_tenthor
Messages postés
55
Date d'inscription
dimanche 13 novembre 2005
Dernière intervention
29 juin 2007
- 16 mai 2007 à 11:08 - Dernière réponse : cs_tenthor
Messages postés
55
Date d'inscription
dimanche 13 novembre 2005
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 

Votre réponse

4 réponses

Meilleure réponse
rudybaka
Messages postés
8
Date d'inscription
vendredi 10 février 2006
Dernière intervention
24 mai 2007
- 16 mai 2007 à 11:32
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

Merci rudybaka 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de rudybaka
Meilleure réponse
scaryman
Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Dernière intervention
16 mai 2007
- 16 mai 2007 à 11:32
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+

Merci scaryman 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de scaryman
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 16 mai 2007 à 11:41
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
cs_tenthor
Messages postés
55
Date d'inscription
dimanche 13 novembre 2005
Dernière intervention
29 juin 2007
- 16 mai 2007 à 12:10
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.