Analyser une chaine
Fermé
bizo
-
26 août 2008 à 11:04
arth Messages postés 9373 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 27 août 2008 à 10:44
arth Messages postés 9373 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 - 27 août 2008 à 10:44
A voir également:
- Analyser une chaine
- Ma tv ne trouve aucune chaine - Guide
- Excel extraire chaine de caractère après un caractère ✓ - Forum Excel
- TV ne reçoit aucune chaîne ✓ - Forum TNT
- Code chaine xxl - Forum Vidéo/TV
- Chaine non installée ✓ - Forum Téléviseurs
3 réponses
arth
Messages postés
9373
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 366
26 août 2008 à 11:25
26 août 2008 à 11:25
Bonjour,
Tu peux utiliser la fonction split() ou encore trim()+split() pour récupérer la variable"valeur".
Ce sont des fonctions de l'objet String.
En fait au départ tu as ta chaine "fixe. valeur". Mettons que tu mettes ça dans ta variable chaine
=> String chaine = "fixe. valeur";
solution split():
la fonction split de la classe String permet de séparer ta chaine en plusieurs morceaux avec le "flag" que tu souhaites.
La fonction split doit être cependant appliquer à un tableau de String. Par exemple :
String[] morceaux=chaine.split(".");
Cette fonction va découper ta chaine "chaine" par rapport au caractère "." et va mettre tous les bouts ainsi découper selon le point dans le tableau morceaux.
Ce qui fait donc qu'à l'arrivée tu auras dans morceaux[0] la valeur "fixe" et dans morceaux[1] la valeur " valeur";
Mais comme tu souahites récuperer valeur directement, dans ce cas tu ne fais pas par rapport au point mais par rapport à l'espace : String[] morceaux = chaine.split(" ");
Et donc dans morceaux[0] tu auras la valeur "fixe." et dans morceaux[1] la valeur "valeur".
Loup.
Tu peux utiliser la fonction split() ou encore trim()+split() pour récupérer la variable"valeur".
Ce sont des fonctions de l'objet String.
En fait au départ tu as ta chaine "fixe. valeur". Mettons que tu mettes ça dans ta variable chaine
=> String chaine = "fixe. valeur";
solution split():
la fonction split de la classe String permet de séparer ta chaine en plusieurs morceaux avec le "flag" que tu souhaites.
La fonction split doit être cependant appliquer à un tableau de String. Par exemple :
String[] morceaux=chaine.split(".");
Cette fonction va découper ta chaine "chaine" par rapport au caractère "." et va mettre tous les bouts ainsi découper selon le point dans le tableau morceaux.
Ce qui fait donc qu'à l'arrivée tu auras dans morceaux[0] la valeur "fixe" et dans morceaux[1] la valeur " valeur";
Mais comme tu souahites récuperer valeur directement, dans ce cas tu ne fais pas par rapport au point mais par rapport à l'espace : String[] morceaux = chaine.split(" ");
Et donc dans morceaux[0] tu auras la valeur "fixe." et dans morceaux[1] la valeur "valeur".
Loup.
arth
Messages postés
9373
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 366
26 août 2008 à 16:50
26 août 2008 à 16:50
Je te propose de vérifier d'abord si cela fonctionne bien avant d'intégrer en base mais normalement oui tu as la bonne démarche.
Avant d'insérer en base, le champ de ta base dans lequel tu souhaites insérer la valeur est de quel type?
e
Avant d'insérer en base, le champ de ta base dans lequel tu souhaites insérer la valeur est de quel type?
e
arth
Messages postés
9373
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 366
27 août 2008 à 10:44
27 août 2008 à 10:44
Oui en effet car valeur provient d'une chaîne de caractère et ton compilateur va te dire d'aller voir ailleurs si on peut mettre une chaine de caractère dans un entier ^^ :)
Pour le parser en int il te suffit de faire Integer.parseInt("valeur");
Pour le parser en int il te suffit de faire Integer.parseInt("valeur");
26 août 2008 à 12:05
Mais, est ce que je peux remplacer le mot chaine pas autre chose.?
En fait, j'ai une (datagram packet) et j'ai récupéré les données de cette paquet, donc je suis arrivé jusqu'à:
this.clientdata = this.dp.getdata ();
Donc, (clientdat) a le forme "le_nom_de_la_valeur. la_valeur"
est ce que je peux écrire directement:
String[] morceaux = clientdata.split(" ");
et après set morceaux[1] dans la base de données
!!!