Lire contenu fichier

Résolu
cs_0xYg3n3 Messages postés 115 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 8 octobre 2007 - 21 juil. 2005 à 21:20
cs_0xYg3n3 Messages postés 115 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 8 octobre 2007 - 22 juil. 2005 à 10:50
Bonjour,



Voila j'aimerais parcourir un fichier texte, c'est à dire récupérer mot
a mot tous les mots d'un fichier texte, et non récupérer une ligne
entiere (qui contient plusieurs mots)



Je sais que en C++ cela est possible en utilisant le type stringstream

mais j'aimerais connaître la solution en C#



Merci de me répondre.

5 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 juil. 2005 à 10:32
L'idée principale, c'est celle-ci :


// Lecture du fichier
StreamReader sr =
new StreamReader(File.OpenRead(openFileDialog1.FileName));

string szText = sr.ReadToEnd();

// Ensuite tu récupères tous les mots :
Regex regex = new Regex(@"\w+");
MatchCollection matches = regex.Matches(szText);

// et maintenant dans le Value de chaque matches[n]
// tu auras un mot


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
3
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
21 juil. 2005 à 22:00
Salut
Si tu veux lire ttle ficher et le mettre dans un string , puis parcourir ce string, tu peux utiliser le System.IO.File.ReadAllText(), si tu veux pas mettre tt le fichier en mémoire, voila la soluce
http://www.csharpfr.com/forum.v2.aspx?ID=505649
YaoYao !!
1 + 1 = 10
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 juil. 2005 à 09:32
et pis pour récupérer mot à mot... l'expression régulière qui va bien @"\w+"


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
cs_0xYg3n3 Messages postés 115 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 8 octobre 2007
22 juil. 2005 à 09:50
Il faut donc utiliser la classe Regex ?



Sinon actuellement j'utilise la méthode Split() de la classe string



mais c'est pas super car il faut penser a tous les caracteres (espace,virgule,...) entre chaque mots.



Sinon comment utiliser ton expression reguliere ?



Merci de m'avoir repondu.
0

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

Posez votre question
cs_0xYg3n3 Messages postés 115 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 8 octobre 2007
22 juil. 2005 à 10:50
Ok merci a toi de m'avoir répondu aussi vite.
0
Rejoignez-nous