Bonjour à tous,
Je suis, dans le cadre d'un TP, en train de réalisé un éditeur de texte JAVA.
Je souhaite ajouter une fonction de recherche de mots. J'utilise pour cela les expressions régulières de l'API.
J'ai réussi à écrire le code mais j'ai un problème lors de l'exécution.
Pour expliquer mon problème, le mieux reste encore que je vous donne un exemple:
J'écris un texte:
"Parmi toutes ces voitures, il y a ma voiture."
J'effectue une recherche avec le mot "voiture". Mon éditeur me retourne:
"Le mot a été trouvé 2 fois".
Hors je voulais qu'il recherche uniquement le mot "voiture" et non "voitures".
1ère question: Comment puis je faire pour qu'il recherche l'occurrence exacte?
2ème question: Comment faire pour surligner le mot rechercher dans le texte?
Je vous donne mon code:
Merci d'avance pour l'aide que vous pourrez m'apporter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 private void countWord(String word, boolean caseSensitive) { Pattern pattern; Matcher matcher; int nbMots = 0; if(caseSensitive) { pattern = Pattern.compile(word); matcher = pattern.matcher(textDisplayPane.getText()); while(matcher.find()) { nbMots++; } } else { pattern = Pattern.compile(word, Pattern.CASE_INSENSITIVE); matcher = pattern.matcher(textDisplayPane.getText()); while(matcher.find()) { nbMots++; } } JOptionPane.showMessageDialog(this, "This word appears " + nbMots + " times."); }
Partager