Compter le nombre de tabulations dans un String

Résolu
stongolm Messages postés 9 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 5 août 2006 - 19 juil. 2006 à 16:03
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 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...

Merci Bien !

10 réponses

super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
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
3
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2006 à 17:48
ben j'ai mieu
sur tu fait:
StringTokenizer strok = new StringTokenizer(tastring,"\t");
int nb = strok.countTokens();

voila

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
stongolm Messages postés 9 Date d'inscription jeudi 12 mai 2005 Statut Membre Dernière intervention 5 août 2006
19 juil. 2006 à 17:58
Merci bien, tout bête mais nickel. Y a des jours où l'on ressent la fatigue quand même...
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2006 à 18:01
tout a fais d'accord avec toi
moi c'est pas en java mais en C# ....

resolu si ta plus de question...

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
stongolm Messages postés 9 Date d'inscription jeudi 12 mai 2005 Statut Membre Derniè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 !
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
19 juil. 2006 à 18:05
lol pas de blem toutes les solution son bonne a prendre mais si le \n marche alors pourquoi pas le \t ? :p

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
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
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
20 juil. 2006 à 11:17
ouaip en programmation tu as 36 000 facon de faire la meme chose
je sais meme faire un hello word sans methode main :s

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
20 juil. 2006 à 11:54
AH LA VACHE !!!!!!!
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
20 juil. 2006 à 12:22
on dirait qu'avec le 1.5.0 c'est plus possible
je verifierais ce soir si j'y pense

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Rejoignez-nous