Faire une Recherche dans un Fichier à partir d'une Chaine de Caractère [Résolu]

Maiku
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Dernière intervention
4 juillet 2007
- 25 oct. 2005 à 15:10 - Dernière réponse : devroeroy
Messages postés
1
Date d'inscription
samedi 7 janvier 2006
Dernière intervention
10 février 2006
- 10 févr. 2006 à 19:49
Bonjour

Est il possible de faire une recherche de caractère dans un fichier texte qui donnerait le même type de resultat qu'un like en sql .
Exemple :

si je cherche un Mot commencant par P et que dans moi fichier texte j'ai patate, poivre, etc, il devra m'affichait tout les lignes qui commenceront par la lettre P.

Pour l'instant, j'ai le code suivante :


if(this.solucevirustrouvee.Items.Count !=0)


{


this.solucevirustrouvee.Items.Clear();


}


FileStream nomvirus = new FileStream("NomVirus.txt",FileMode.Open,FileAccess.Read);


StreamReader lirenom = new StreamReader(nomvirus);


string lire = lirenom.ReadLine();


indexnom=0;


i=0;


string nom ="inconnu";


while(lire != null)


{


if(lire == this.NomVirus.Text)


{


nom ="trouvée";


this.solucevirustrouvee.Items.Add(lire);


indexrecup[i] = indexnom;


i = i + 1;


}


else


{


indexnom = indexnom + 1;


}


MessageBox.Show(""+lire);


lire = lirenom.ReadLine();


}


if(nom=="inconnu")


{


this.solucevirustrouvee.Items.Add("Ce Virus n'existe pas dans la base de donnée");




}


MessageBox.Show(""+nom);


MessageBox.Show(""+indexnom);


lirenom.Close();

Pour l'instant , il n'affiche que si le nom exacte existe dans le fichier, moi je veux que si la ligne contient poivre de grece, et que j'ai tapé en recherche poivre, il m'affiche poivre de grece.

Quelqu'un peut il me dire si c'est possible de faire ça avec les fichiers txt ?
Merci d' Avance
Maiku
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 25 oct. 2005 à 15:33
3
Merci
string lire;
while ((lire = lirenom.ReadLine()) != null) {
if (lire.StartWidth("t")) {
this.soluceVirusTrouvee.Add(lire);
}
}

Sébastien FERRAND
[MVP C#]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de sebmafate
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 25 oct. 2005 à 15:19
0
Merci
je vois 1 solution simple... et une autre pour le fun :

- pour chaque ligne tu fais : ligne.StartWith("t") // pas trop dur ca

- et pour le fun, une expression régulière sur l'ensemble du fichier : ^t.*$

Sébastien FERRAND
[MVP C#]
Commenter la réponse de sebmafate
Maiku
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Dernière intervention
4 juillet 2007
- 25 oct. 2005 à 15:21
0
Merci
Tu peux expliquer ce que fais exactement ta solution stp ?

Maiku
Commenter la réponse de Maiku
Maiku
Messages postés
190
Date d'inscription
dimanche 10 avril 2005
Dernière intervention
4 juillet 2007
- 25 oct. 2005 à 16:02
0
Merci
Merci a toi j'ai utilisé ta solution, et l'ai un peu completé, mon code donne maintenant :


while(lire != null)


{


if(lire.StartsWith(this.NomVirus.Text) || lire.EndsWith(this.NomVirus.Text))


{


nom ="trouvée";


this.solucevirustrouvee.Items.Add(lire);


indexrecup[i] = indexnom;


i = i + 1;




}

Grâce à toi , je viens de comprendre mieux les methodes startswith et endswith, merci à toi

Maiku
Commenter la réponse de Maiku
devroeroy
Messages postés
1
Date d'inscription
samedi 7 janvier 2006
Dernière intervention
10 février 2006
- 10 févr. 2006 à 19:49
0
Merci
Bonjour,

Question: Je cherche a faire une recherche d'un texte dans un fichier de type Word (au lieu de txt qui marche trés bien). Est ce que vous pourriez me dire comment je peux m'y prendre parce que lorsque je fais un readline de mon streamreader de mon fichier word, il me renvoi une suite de bit et par conséquent je ne peux pas tester si ma chaine de caractere est dans mon fichier .
Remarque. Je cherche a faire une recherche de texte dans des fichiers de tout type d'extension, pas seulement sur des fichiers txt pour lesquels ca marche trés bien.

Merci d'avance!

Seb
Commenter la réponse de devroeroy

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.