Compter le nb d'apparitions d'1 caractere ds une string [Résolu]

Signaler
Messages postés
50
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
24 avril 2008
-
Messages postés
31
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
22 mai 2006
-
Bonjour.
Je dois compter le nombre de ; qui se trouvent ds une string et apres je dois mettre ce qu'il y a entre ces ; ds des string.
Comment puis je faire pour compter le nombre de ; ?

Merci

5 réponses

Messages postés
492
Date d'inscription
vendredi 30 janvier 2004
Statut
Membre
Dernière intervention
16 mai 2007
11
Salut
Utilise la classe StringTokenizer qui sépare un String en plusieurs avec comme séparateur le(s) caractère(s) passé(s) en paramètre.
Plus qu'à faire une boucle et incrémenter un int à chaque sous-string trouvé.

Voila
A++
Messages postés
50
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
24 avril 2008

Ex Code :

String chaine="azer,qsdfg,wxc,ghjj";
String chaine1=new String[4];
StringTokenizer tok=new StringTokenizer(chaine,",");
n=0;
while(tok.hasMoreTokens()){//repete la boucle tant que il y a une virgule
chaine1[n]=tok2.nextToken();//nexttoken extrait des sous-chaine
n++;
}
Messages postés
50
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
24 avril 2008

Merci
Messages postés
31
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
22 mai 2006

Deux remarques sur la proposition précédente :) :
- si le nombre de chaines est > à 4, ca ne marche plus
- si plusieurs points-virgules se suivent, StringTokenizer fait comme s'il y en avait qu'un alors que sous entendu dans l'énoncé initial, ca doit correspondre à des chaines vides
De plus, dans le problème initial, on veut commencer par déterminer le nombre de points-virgules.

Donc :
1. Compter le nombre de points-virgules
2. On connait alors le nombre de chaines et on remplit un tableau de chaines avec.
On ne peut plus utiliser StringTokenizer, ca donne donc quelque chose d'un peu plus compliqué ... il faut utiliser les méthodes indexOf et substring de String.
Messages postés
31
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
22 mai 2006

Deux remarques sur la proposition précédente :) :
- si le nombre de chaines est > à 4, ca ne marche plus
- si plusieurs points-virgules se suivent, StringTokenizer fait comme s'il y en avait qu'un alors que sous entendu dans l'énoncé initial, ca doit correspondre à des chaines vides
De plus, dans le problème initial, on veut commencer par déterminer le nombre de points-virgules.

Donc :
1. Compter le nombre de points-virgules
2. On connait alors le nombre de chaines et on remplit un tableau de chaines avec.
On ne peut plus utiliser StringTokenizer, ca donne donc quelque chose d'un peu plus compliqué ... il faut utiliser les méthodes indexOf et substring de String.