Compter le nombre de tabulations dans un String [Résolu]

stongolm 9 Messages postés jeudi 12 mai 2005Date d'inscription 5 août 2006 Dernière intervention - 19 juil. 2006 à 16:03 - Dernière réponse : sheorogath 2465 Messages postés samedi 21 février 2004Date d'inscription 29 janvier 2010 Dernière intervention
- 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 !
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention - 19 juil. 2006 à 16:16
3
Merci
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

Merci super_toinou 3

codes-sources a aidé 79 internautes ce mois-ci

Commenter la réponse de super_toinou
sheorogath 2465 Messages postés samedi 21 février 2004Date d'inscription 29 janvier 2010 Dernière intervention - 19 juil. 2006 à 17:48
0
Merci
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"
Commenter la réponse de sheorogath
stongolm 9 Messages postés jeudi 12 mai 2005Date d'inscription 5 août 2006 Dernière intervention - 19 juil. 2006 à 17:58
0
Merci
Merci bien, tout bête mais nickel. Y a des jours où l'on ressent la fatigue quand même...
Commenter la réponse de stongolm
sheorogath 2465 Messages postés samedi 21 février 2004Date d'inscription 29 janvier 2010 Dernière intervention - 19 juil. 2006 à 18:01
0
Merci
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"
Commenter la réponse de sheorogath
stongolm 9 Messages postés jeudi 12 mai 2005Date d'inscription 5 août 2006 Dernière intervention - 19 juil. 2006 à 18:03
0
Merci
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 !
Commenter la réponse de stongolm
sheorogath 2465 Messages postés samedi 21 février 2004Date d'inscription 29 janvier 2010 Dernière intervention - 19 juil. 2006 à 18:05
0
Merci
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"
Commenter la réponse de sheorogath
super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention - 20 juil. 2006 à 11:11
0
Merci
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
Commenter la réponse de super_toinou
sheorogath 2465 Messages postés samedi 21 février 2004Date d'inscription 29 janvier 2010 Dernière intervention - 20 juil. 2006 à 11:17
0
Merci
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"
Commenter la réponse de sheorogath
super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention - 20 juil. 2006 à 11:54
0
Merci
AH LA VACHE !!!!!!!
Commenter la réponse de super_toinou
sheorogath 2465 Messages postés samedi 21 février 2004Date d'inscription 29 janvier 2010 Dernière intervention - 20 juil. 2006 à 12:22
0
Merci
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"
Commenter la réponse de sheorogath

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.