luc_aorfan
Messages postés3Date d'inscriptionlundi 26 septembre 2005StatutMembreDernière intervention17 mars 2006
-
16 mars 2006 à 18:43
luc_aorfan
Messages postés3Date d'inscriptionlundi 26 septembre 2005StatutMembreDernière intervention17 mars 2006
-
17 mars 2006 à 15:55
Bonjour,
J'ai une chaine a "Tokenizer" du style :
a;b;c;
Le problème est que les infos sont facultatives, je peux donc avoir :
a;;c
Le problème est que dans ce cas là, quand je fais :
(...)
//String ligne = "a;b;c;" // Cas 1
String ligne = a;;c // Cas 2
st = new StringTokenizer(ligne, ";");
// Calcul et contrôle du nb de champs
nbTokens = st.countTokens();
Dans le cas 1 : nbTokens = 3
Dans le cas 2 : nbTokens = 3
Comment faire pour que j'ai un résultat à 3 dans tous les cas.
luc_aorfan
Messages postés3Date d'inscriptionlundi 26 septembre 2005StatutMembreDernière intervention17 mars 2006 16 mars 2006 à 21:27
En fait, j'ai trouvé un contournement, pas très propre, mais ca marche !!
Je remplace d'abord, les ";" par " ;".
J'arrive au bon nombre de tokens et ensuite je trim.
S'il y a une solution plus élégante, je suis preneur!!
luc_aorfan
Messages postés3Date d'inscriptionlundi 26 septembre 2005StatutMembreDernière intervention17 mars 2006 17 mars 2006 à 15:55
J'ai essayé avec le true mais ca n'allait pas car en fait j'utilise le st.countTokens(); pour savoir si ma ligne est complète et avec les ";" compris dans le décompte ca ne m'allait pas.