stongolm
Messages postés9Date d'inscriptionjeudi 12 mai 2005StatutMembreDernière intervention 5 août 2006
-
19 juil. 2006 à 16:03
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 2010
-
20 juil. 2006 à 12:22
Bonjour,
je suis en train de mettre au point un parseur de fichier txt. Mon délimitateur est la tabulation (je sais, ce n'est pas moi qui ait choisi: ( ).
Afin de vérifier si le fichier est bien structuré, je voudrais tester le nombre des tabulations présentes dans ma première ligne (pour connaître le nombre de colonnes).
Je comptais faire un compteur basé sur des indexof ou des substrings mais c'est inenvisageable à cause du caractère variable de la tabulation (pas moyen de situer de manière viable la fin de la tabulation pour continuer avec le reste de la string).
Si quelqu'un a une idée, elle est la bienvenue, même une bribe d'idée, après je ferai les tests...
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 19 juil. 2006 à 16:16
tu utilise les StringTokenizer et tu fais un premier delim a \n pour avoir ta ligne et sur chaque string récup tu fais un split avec \t puis un length sur le tableau obtenu pour avoir le nb de tabulations par ligne !!
++ Toinou
stongolm
Messages postés9Date d'inscriptionjeudi 12 mai 2005StatutMembreDernière intervention 5 août 2006 19 juil. 2006 à 18:03
En fait, le merci était adressé à Toinou, j'ai pas essayé la dernière solution avec les tokens. Mais juste pour info, je suis pas sûr que le "\t" passe ici, ce serait ptet plutôt un '\u0009'...
Mais dans tous les cas merci !
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 20 juil. 2006 à 11:11
yop yop,
merci pour le merci, la solution de sheorogath est dans le bon esprit, c est mieux de faire countTokens() que un length sur le split du String[] (mais bon j ai reply rapide sans javadoc sous les yeux ;) )
sinon t etai obligé de faire d abord un delim sur \n pour pouvoir avoir le nombre de tabulation par ligne.
mais sinon je pense que \t marche, pas besoin de mettre \u0009 (j imagine que c est le caractère qui représente le t ???)
Bref j aime bien qd tt le monde a raison ca arrive pas souvent :P
++ Toinou