Rechercher : dans
Par :

[JAVA] Parser une chaine de caractere

Dernière réponse le 13 fév 2008 à 11:56:32 Pyrodelph, le 2 mai 2007 à 15:48:27 
 Signaler ce message aux modérateurs

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 !!!

Configuration: Windows XP
Firefox 2.0

Meilleures réponses pour « [JAVA] Parser une chaine de caractere » dans :
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...

1

Bj0, le 2 mai 2007 à 15:55:39

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

Répondre à Bj0

2

Pyrodelph, le 2 mai 2007 à 16:08:36

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

Répondre à Pyrodelph

3

Bj0, le 3 mai 2007 à 17:14:32

Mais ce que tu met dans ton tableau fait tjrs 2 caracteres?

Répondre à Bj0

4

Bj0, le 3 mai 2007 à 17:20:35

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)...

Répondre à Bj0

5

hotrod, le 3 mai 2007 à 17:39:16

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

Répondre à hotrod

7

Kerrighan, le 8 jun 2007 à 17:44:10

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

Merci

Répondre à Kerrighan

8

ekra, le 9 jun 2007 à 18:24:17
  • +3

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());
	}

}
Ceci est une signature.

Répondre à ekra

9

ekra, le 9 jun 2007 à 20:53:58

Il manque la méthode bien sûre :p Ceci est une signature.

Répondre à ekra

6

PyroDelph, le 4 mai 2007 à 13:52:06

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 !!

Répondre à PyroDelph

10

zefoots, le 9 jun 2007 à 23:10:46

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 ...

Répondre à zefoots

11

ekra, le 10 jun 2007 à 10:03:10
Répondre à ekra

12

Kerrighan, le 11 jun 2007 à 10:07:12

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 :( )

Répondre à Kerrighan

13

 PyroDelph, le 11 jun 2007 à 15:45:05

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

++

Répondre à PyroDelph