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

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

Répondre au sujet
rudybaka 8 Messages postés vendredi 10 février 2006Date d'inscription 24 mai 2007 Dernière intervention - 16 mai 2007 à 11:32
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de rudybaka
scaryman 492 Messages postés vendredi 30 janvier 2004Date d'inscription 16 mai 2007 Dernière intervention - 16 mai 2007 à 11:32
+3
Utile
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+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de scaryman
Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 16 mai 2007 à 11:41
0
Utile
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 55 Messages postés dimanche 13 novembre 2005Date d'inscription 29 juin 2007 Dernière intervention - 16 mai 2007 à 12:10
0
Utile
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.