[JAVA] Parser une chaine de caractere

Fermé
Pyrodelph - 2 mai 2007 à 15:48
 PyroDelph - 11 juin 2007 à 15:45
Bonjour,

jai un petit probleme
je recherche le moyen de decomposer un chaine de caractere de style :
02 E5 01 02 03
dans un tableau
case 1 : 02
case 2 : E5
case 3 : 01
etc...

merci de votre aide et dite moi si ce nest pas tres clair !!!
A voir également:

9 réponses

Une bonne petite expression régulière et hop tu l'auras ton tableau
4
Salut,
Pourrais tu expliquer comment faire avec une Exp Reg?
Cela m'interesse.

Merci
0
ekra Messages postés 1870 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 24 juillet 2014 342 > Kerrighan
9 juin 2007 à 18:24
Salut, j'ai pas vérifié, mais avec quelque chose dans le genre, tu dois pouvoir t'en sortir.
public class Decouper {
	private String chaine = new String("02 E5 01 02 03");
	private LinkedList<String> liste = new LinkedList();
	
	StringTokenizer st = new StringTokenizer(chaine," ");
	while ( st.hasMoreTokens() ) {
		liste.add(st.nextToken());
	}

}
0
ekra Messages postés 1870 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 24 juillet 2014 342 > ekra Messages postés 1870 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 24 juillet 2014
9 juin 2007 à 20:53
Il manque la méthode bien sûre :p
0
Bj0 Messages postés 74 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 5 octobre 2007 21
2 mai 2007 à 15:55
utilise la fonction substring



String chaine;
String tableau[];

for (int i=0; i<tableau.length()/3 ; i++){
tableau[i]= chaine.substring(i *3,( i*3)+2);
}

c'est un truc dans le genre
0
euh c pas trop clair pour moi ce que tu as marquer mais pour plus de precision, les chaine de caraceter peuvente etre plus longue
en faite il me faudrais une sorte de parseur mais je ne les comprend pas tres bien
0
Bj0 Messages postés 74 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 5 octobre 2007 21
3 mai 2007 à 17:14
mais ce que tu met dans ton tableau fait tjrs 2 caracteres?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bj0 Messages postés 74 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 5 octobre 2007 21
3 mai 2007 à 17:20
en plus de ca je me sui gouré dans le code !!! honte a moi :S


String chaine; // la chaine de caractere que tu veu décomposer
String tableau[]; // le tableau dans laquel tu veu stocker tes données

for (int i=0; i<(chaine.length()-1)/3 ; i++){ // tant que tu n'est pa a la fin de la chaine
tableau[i]= chaine.substring(i *3,( i*3)+2); // il découpe cette chaine pour prendre les valeur ( de deux caractere) a mettre dans le tableau
}

si tes valeur ne font pa tjrs 2 caractere il faudra repéré les espace dit moi si c'est le cas


(chaine.length()-1)/3 renvoi le nombre de "morceau" dans ta chaine ( si il y a tjrs 2 caractere a tes morceaux)...
0
il est possible quil y est plus de caractere
mais la chaine de caractere a decomposer vien dun bufferedReader
et le code que tu ma donner, jy avais deja penser sauf que quand jexecute, il me donne une exeception dans thread main a la ligne ou sinsere un morceau de chaine dans la tableau
= tableau [i] = chaine.substring....

voici mon nouveau probleme !!
0
zefoots Messages postés 146 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 11 septembre 2007 62
9 juin 2007 à 23:10
Essaie de voir si tu ne peux pas te débroyer avec la class java.util.StringTokenizer
J'ai l'impression que c'est ce qu'il te faut ...
0
ekra Messages postés 1870 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 24 juillet 2014 342
10 juin 2007 à 10:03
0
Merci Ekra en effet, en utilisant les tokens cela fonctionne parfaitement, c'est la solution que j'avais implanté mais je voulais juste que l'on m'explique comment le faire à l'aide des Exp Reg (juste par curiosité car les ressources sur le sujet son pauvres sur le net :( )
0
Salut a tous
merci de m'avoir aider
au final j'ai utiliser les string tokenizer qui fonctionne tres bien, je vais donc pouvoir bientot clore ce sujet s'il n'y a pa d'objection

++
0