[JAVA] Parser une chaine de caractere

[Fermé]
Signaler
-
 PyroDelph -
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 !!!

9 réponses

Une bonne petite expression régulière et hop tu l'auras ton tableau
4
Merci

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

CCM 42674 internautes nous ont dit merci ce mois-ci

Salut,
Pourrais tu expliquer comment faire avec une Exp Reg?
Cela m'interesse.

Merci
Messages postés
1867
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014
338 > Kerrighan
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());
	}

}
Messages postés
1867
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014
338 >
Messages postés
1867
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014

Il manque la méthode bien sûre :p
Messages postés
74
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
5 octobre 2007
21
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
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
Messages postés
74
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
5 octobre 2007
21
mais ce que tu met dans ton tableau fait tjrs 2 caracteres?
Messages postés
74
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
5 octobre 2007
21
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)...
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 !!
Messages postés
146
Date d'inscription
samedi 9 juin 2007
Statut
Membre
Dernière intervention
11 septembre 2007
62
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 ...
Messages postés
1867
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014
338
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 :( )
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

++