j'aimerai savoir comment effctuer les operations suivantes
1) ouvrir un ficher texte et recuperer le contenu
2) compter le nombre d'occurrence d'un mot donne dans ce contenu qui vient d'etre recuperer
merci d'avance
Version imprimable
j'aimerai savoir comment effctuer les operations suivantes
1) ouvrir un ficher texte et recuperer le contenu
2) compter le nombre d'occurrence d'un mot donne dans ce contenu qui vient d'etre recuperer
merci d'avance
Bonjour, tu peux essayer avec le code ci dessous
Code:
1
2
3
4
5
6
7
8
9
10
11
12 String fileName = "nom de ton fichier"; int nbOccurence =0; BufferedReader in = new BufferedReader((new FileReader(fileName))); String line = in.readLine(); while (line != null) { if (!line.equals("") && line.indexOf("chaine recherchée") > 0) nbOcurrence ++; line = in.readLine(); }
Il y a 2 problème avec ton code :Citation:
Envoyé par Seb19
1) Ce n'est pasmaisCode:line.indexOf("chaine recherchée") > 0
2) Si le mot est présent plusieurs fois dans une ligne, il ne sera compté qu'une seule occurrenceCode:line.indexOf("chaine recherchée") >= 0
Méthode bourrin :
Pareil qu'au dessus mais avec :
dans le while (line != null)Code:nbOccurence+=(line.split(chaineRecherchee).length()-1);
Inconvénient :
Si on recherche le mot "mot" il en comptera 2 sans "ma moto vaut au bas mot 2000 balles".
sauf si mot = " mot "
ben le bleme c'est que le mot peut etre en fin de phrase ou de ligne ou début ligne du coup les espaces posent un problème. mais la piste est bonne et si on ajoute des espaces à la ligne, il y a encore les problèmes de ponctuations.
Un mot n'est pas toujours encadré que par des espaces, il peut être suivi ou précédé de signes de ponctuation.Citation:
Envoyé par septentryon01
Par exemple si dans ma phrase précédente tu recherche les occurrences des mot "espaces" ou "ponctuation" avec ta methode, tu n'en trouveras aucune :wink:
[edit]pas assez rapide[/edit]
Essaye en utilisant les regex.
encore une methode de bourrin, tu remplaces les ponctuations par un espaces, puis tu cherches le " mot " en ajoutant à la ligne un espace en début et fin . et là ca doit pas etre trop faux.
ah ouais... Là c'est vraiment bourrin lol.
ben oui :) désolé ! c'est plus pour faire avancer le schmiblick !