IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Recherche de mot dans un editeur de texte+Expressions régulières?


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Recherche de mot dans un editeur de texte+Expressions régulières?
    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:
    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.");
        }
    Merci d'avance pour l'aide que vous pourrez m'apporter.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Points : 209
    Points
    209
    Par défaut
    Si tu fais ta propre expression régulièreen suivant le principe suivant :
    [espace][mot][,|.|;|!|?|:] ca devrait être bon.

    Pour la deuxième question je te laisse regarder les démos de sun sur le JEditorPane

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Comment ça ma propre expression? Peut tu m'aider? Je découvre les expressions régulières et je ne les maîtrise pas trop pour l'instant?

    Aurais-tu le lien de la démo? Elle est sur le site de Sun?

    Merci

Discussions similaires

  1. Requête recherche de mots dans un champs texte
    Par fusex132 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/04/2009, 11h09
  2. Recherche des mots dans un texte
    Par psyrio dans le forum Langage
    Réponses: 1
    Dernier message: 27/02/2009, 12h15
  3. Fonction 'recherche' dans un editeur de texte
    Par jojodu31 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 03/04/2008, 15h37
  4. [RegEx] Recherche de mots dans un texte
    Par Dirty Harry dans le forum Langage
    Réponses: 3
    Dernier message: 15/01/2007, 17h29
  5. Rechercher un mot dans un texte
    Par BernardT dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/12/2005, 08h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo