cs_agoumi
Messages postés12Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention23 avril 2007
-
28 nov. 2006 à 15:58
Utilisateur anonyme -
10 avril 2011 à 14:33
bonjour a tous;
je recupere un champ texte a partir d'une table action de ma base de donnees.ce champ peut contenir des strings sous cette forme:
(texte= /text1/text2/text3) ou (texte=/text2/text1/text3) ou
(texte=/text1/text2) ou (texte=/text2/text1) ou (texte=text1) ou
(texte=text2) ou (texte=text3)...
mon probleme c'est que je cherche une fonction java qui me permet de parser la chaine du champ texte et selon les valeur text1,text2,... il execute d'autres fonctions.
exemple:
Moucave
Messages postés130Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention10 septembre 2008 28 nov. 2006 à 17:57
[mailto:S@lut S@lut] ! Je te propose d'isoler les valeurs text1, text2, text 3 :
public String[] coupe(String original, String separator) {
Vector nodes = new Vector();
//découpage de l'élément original suivant les séparateurs
int index = original.indexOf(separator);
while (index >= 0) {
nodes.addElement(original.substring(0, index));
original = original.substring(index + separator.length());
index = original.indexOf(separator);
}
// ajout à la suite du vecteur
nodes.addElement(original);
// indexation des éléments dans le vecteur
String[] result =
new String[nodes.size()];
if (nodes.size() > 0) {
for (
int loop = 0; loop < nodes.size(); loop++)
result[loop] = (String) nodes.elementAt(loop);
}
return result;
}Bien sur dans ton cas Original "Valeur contenue dans ton champ <gras>texte" tu auras ton séparator sera</gras> "/"
Ainsi le vecteur renvoyé contiendra les éléments text1, text2....textn.
De plus le vecteur s'adapte automatiquement au nombre de textn que tu as dans ton champ texte. Une fois tes valeurs isolée tu pouras facilement appliquer le traitement désiré suivant les valeurs testées.
Bonne prog et @ +
--- Moucave , petit singe au pays du j2ee ---
Moucave
Messages postés130Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention10 septembre 2008 29 nov. 2006 à 11:39
S@lut,
il te faut forcément un caractère de séparation entre les différents textes car le but de la manoeuvre est justement de détecter un opérateur de séparation. Un exemple :
Lors de la concaténation tu pourras insérer une marque (comme "/" par exemple)qui te permettra de distinguer tes différentséléments constitutifs du champ text.
Pour pouvoir les distinguer il te faudra forcément un référentiel comme par exemple un nombre de lettre, un marqueur (comme ce que je te propose),...
@+
Nous ne sommes pas au restaurant et nos sommes encore moi des serveurs. C'est vraiment pénible de voir qu'il y a des personnes qui demandent tout d'un claquement de doigt