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

Java Discussion :

Trouver les occurences de mots entiers dans un texte


Sujet :

Java

  1. #1
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut Trouver les occurences de mots entiers dans un texte
    Salut,

    J'ai une application qui reçoit des textes et qui doit les tagger en utilisant une liste de mots-clés prédéfinis.

    Pour l'instant, je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        	for ( String tag : tags ) {
    			if( tweetText.indexOf(tag) >= 0 ) {
    				//treat association
    			}
    		}
    Mais il essaie d'associer "us" avec "We usually use this" et "aire" avec "ils ont du faire leur travail".

    Comment faire pour ne détecter que les mots entiers ? Mon problème c'est que je ne peux pas me contenter d'ajouter un espace avant et après au tag car alors il ne trouvera pas un mot entier qui serait en début de phrase, ni si il côtoie un caractère de ponctuation.

    Merci d'avance

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Points : 295
    Points
    295
    Par défaut
    Bonjour,

    Je pense que tu dois utiliser
    http://docs.oracle.com/javase/tutori...ex/bounds.html

    Plus précisément : \b

    Par exemple :


    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
    27
    28
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
     
    public class Test {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		String us = "us";
    		String text1 = "We usually use this";
    		String text2 = "it's us";
    		String aire = "aire";
    		String text3 = "de l'aire";
    		String text4 = "ils ont du faire leur travail";
    		System.out.println(hasWord(text1, us));
    		System.out.println(hasWord(text2, us));
    		System.out.println(hasWord(text3, aire));
    		System.out.println(hasWord(text4, aire));
    	}
     
    	public static boolean hasWord(String text, String tag) {
    		System.out.println(text + " CONTIENT " + tag + " ? ");
    		Pattern p = Pattern.compile("\\b" + tag + "\\b");
    		Matcher m = p.matcher(text);
    		return m.find();
    	}
    }
    ça me donne

    We usually use this CONTIENT us ?
    false
    it's us CONTIENT us ?
    true
    de l'aire CONTIENT aire ?
    true
    ils ont du faire leur travail CONTIENT aire ?
    false
    Bon courage

  3. #3
    lr
    lr est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2003
    Messages : 338
    Points : 114
    Points
    114
    Par défaut
    Ca m'a l'air parfait, merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Trouver les occurences d'un pattern dans un fichier donné
    Par chenwaZi dans le forum Général Java
    Réponses: 9
    Dernier message: 01/05/2015, 08h40
  2. [RegEx] nombre d'occurences et supprimer les mots repétés dans un texte
    Par hendrix67 dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2010, 13h11
  3. [FAQ] compter les occurences d'une chaîne dans un fichier
    Par cafeine dans le forum Contribuez
    Réponses: 3
    Dernier message: 25/07/2006, 11h21
  4. Premiere occurence d'un entier dans une chaine
    Par amika dans le forum Langage
    Réponses: 3
    Dernier message: 04/05/2006, 20h04
  5. Compter les occurences d'un car dans une chaine/variable
    Par sherlockfr dans le forum Windows
    Réponses: 2
    Dernier message: 10/11/2005, 07h48

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