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

Python Discussion :

Tester la présence de plusieurs mots dans une phrase


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut Tester la présence de plusieurs mots dans une phrase
    Bonjour,

    Mon problème est simple mais je ne sais pas s'il existe une solution rapide et efficace.
    Je souhaite tester la présence de plusieurs mots dans une phrase.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    phrase = "Ceci est une phrase de test"
    Je souhaite tester la présence de "est", "une" et "de" sans avoir à écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if "est" in phrase and "une" in phrase and "de" in phrase:
       print "OK"
    Je ne sais pas si il faut passer par les listes, essayer de découper la phrase, etc...... Merci d'avance pour votre aide !!

  2. #2
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Bonjour,
    voici une façon de faire :
    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
    29
    #! /usr/bin/env python
    #coding=utf-8
     
    phrase = "Ceci est une phrase de test."
     
    def containAllWord(text, words):
        for oneWord in words:
            if oneWord not in text:
                return False
        return True
     
     
    def containAtLeastOneWord(text, words):
        for oneWord in words:
            if oneWord in text:
                return True
        return False
     
     
    print ''
    print '\tcontainAllWord( "' + phrase + '", ["est", "une", "de"] )'
    print str( containAllWord( phrase, ["est", "une", "de"] ) )
    print '\tcontainAtLeastOneWord( "' + phrase + '", ["est", "une", "de"] )'
    print str( containAtLeastOneWord( phrase, ["est", "une", "de"] ) )
    print ''
    print '\tcontainAllWord( "' + phrase + '", ["essssst", "unnnne", "de"] )'
    print str( containAllWord( phrase, ["essssst", "unnnne", "de"] ) )
    print '\tcontainAtLeastOneWord( "' + phrase + '", ["essssst", "unnnne", "de"] )'
    print str( containAtLeastOneWord( phrase, ["essssst", "unnnne", "de"] ) )

  3. #3
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Un code un peu plus joli côté test :
    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
    #! /usr/bin/env python
    #coding=utf-8
     
    def containAllWord(text, words):
        for oneWord in words:
            if oneWord not in text:
                return False
        return True
     
    def containAtLeastOneWord(text, words):
        for oneWord in words:
            if oneWord in text:
                return True
        return False
     
    if __name__ == '__main__':
        tests = [
                  ( "Ceci est une phrase de test.", ["est", "une", "de"] ),
                  ( "Ceci est une autre phrase de test.", ["essssst", "unnnne", "de"] ),
                  ( "Des mots les unsdanslesautres.", ["unsd", "sda"] )
               ]
     
        for oneTest in tests:
            print ''
     
            for oneFunction in [containAllWord, containAtLeastOneWord]:
                print oneFunction.__name__ + '( ' + oneTest[0] + ', ' + str(oneTest[1]) +' )'
                print '\t===> ' + str( oneFunction(oneTest[0], oneTest[1]) )
    On obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    containAllWord( Ceci est une phrase de test., ['est', 'une', 'de'] )
    	===> True
    containAtLeastOneWord( Ceci est une phrase de test., ['est', 'une', 'de'] )
    	===> True
     
    containAllWord( Ceci est une autre phrase de test., ['essssst', 'unnnne', 'de'] )
    	===> False
    containAtLeastOneWord( Ceci est une autre phrase de test., ['essssst', 'unnnne', 'de'] )
    	===> True
     
    containAllWord( Des mots les unsdanslesautres., ['unsd', 'sda'] )
    	===> True
    containAtLeastOneWord( Des mots les unsdanslesautres., ['unsd', 'sda'] )
    	===> True
    Le dernier test montre un problème si les mots se chevauchent, et donc aussi si l'on n'a pas exactement le mot en entier.

  4. #4
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Le problème disparait en faisant les modifications suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def containAllWord(text, words):
        for oneWord in words:
            if oneWord not in text.split():
                return False
        return True
     
    def containAtLeastOneWord(text, words):
        for oneWord in words:
            if oneWord in text.split():
                return True
        return False

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Salut,

    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
    import re
     
    ch = """Sans varier moins que le polle articque 
    Doit la Dame estre et de cueur pacifique, 
    Porter en paix les grans hurtz de Fortune ; 
    Se bien luy vient ou malheur l'importune 
    N'en soit joyeuse ou plus melencolicque."""
     
    les_mots = set(('articque','cueur','hurtz','luy'))
    print les_mots
     
    if set(re.findall( '|'.join(les_mots),ch))==les_mots:
        print 'zyssontouss'
    else:
        print 'y en manque'

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 058
    Par défaut
    Oh mais il y a encore plein de solutions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    phrase = "Ceci est une phrase de test"
    def control_mot(*args):
        for mots in args:
            if mots in phrase.split():
                print "le mot %s , est dans le texte" %(mots)
            else :
                print "le mot %s , n\'est pas dans le texte" %(mots)
    control_mot("est", "une", "de", "k")

    le mot est , est dans le texte
    le mot une , est dans le texte
    le mot de , est dans le texte
    le mot k , n'est pas dans le texte

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 707
    Par défaut
    Salut,
    Si d'aventure derrière votre question assez banale vous avez de vraies questions de traitement du langage naturel, allez faire un tour du côté de NLTK
    C'est "top gun"
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut
    Super !!
    C'est tout bon.
    Merci beaucoup à tous pour votre aide !!!

  9. #9
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Si d'aventure derrière votre question assez banale vous avez de vraies questions de traitement du langage naturel, allez faire un tour du côté de NLTK
    Merci pour ce lien.

    En espérant qu'un support pour Python3 soit prévu...

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 141
    Par défaut
    Salut

    Citation Envoyé par rambc Voir le message
    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
    #! /usr/bin/env python
    #coding=utf-8
     
    phrase = "Ceci est une phrase de test."
     
    def containAllWord(text, words):
        for oneWord in words:
            if oneWord not in text:
                return False
        return True
     
     
    def containAtLeastOneWord(text, words):
        for oneWord in words:
            if oneWord in text:
                return True
        return False
    C'est marrant, je l'aurais fait comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def containsAllWords(text, words):
        return all(word in text for word in words)
     
    def containsAnyWords(text, words):
        return any(word in text for word in words)
    (Certes, je pinaille... pinaillons encore + : pourquoi mettre ça dans des fonctions ?)

    Après, l'appel à split est bien mais il va manquer des choses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>> "Ceci est un test.".split()
    ['Ceci', 'est', 'un', 'test.']
    >>> 'test' in "Ceci est un test.".split()
    False
    Cela dit, je n'ai pas (encore) jeté un coup d'oeil à NLTK, qui résoudra sûrement ce problème.

    Merci à wiztricks pour le lien et bonne lecture aux autres.

  11. #11
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par nardo47 Voir le message
    C'est marrant, je l'aurais fait comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def containsAllWords(text, words):
        return all(word in text for word in words)
     
    def containsAnyWords(text, words):
        return any(word in text for word in words)
    Certes, je pinaille...
    Non tu as raison. Merci pour cette précision. Je zappe tout le temps les deux fonctions all et any.

    Citation Envoyé par nardo47 Voir le message
    ... pinaillons encore + : pourquoi mettre ça dans des fonctions ?
    C'est pour la lisibilité du code tout simplement. Ceci est inutile pour de petit code mais pour des "vrais" projets, j'ai pris cette habitude.

  12. #12
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 058
    Par défaut
    Après, l'appel à split est bien mais il va manquer des choses.
    Alors je vais prendre en compte la ponctuation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import string
    ponctuation=string.punctuation
    def parse(texte, *args):
        for p in ponctuation: texte=texte.replace(p, '')
        for mot in args:
            if mot in texte.split(): print "le mot %s, est dans le texte" %(mot)
            else : print "le mot %s, n'est pas dans le texte" %(mot)
    parse("Ceci est un test.", "est","une", "de", "test")

    le mot est, est dans le texte
    le mot une, n'est pas dans le texte
    le mot de, n'est pas dans le texte
    le mot test, est dans le texte

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 141
    Par défaut
    Citation Envoyé par rambc Voir le message

    ... pinaillons encore + : pourquoi mettre ça dans des fonctions ?
    C'est pour la lisibilité du code tout simplement. Ceci est inutile pour de petit code mais pour des "vrais" projets, j'ai pris cette habitude.
    Ma question était purement réthorique, je suis tout à fait d'accord avec toi, j'ai même du mal à m'arrêter, des fois.

    <mode maviequelleestintéressante on>
    Par exemple, j'ai, dans mon toolbox perso, une fonction qui me renvoie le premier élément d'un itérable (liste, générateur, etc.), une qui me renvoie le dernier élément d'un itérable, une qui me renvoie tout sauf le premier élément et une qui me renvoie tout sauf le dernier (ceux qui ont déjà touché à Haskell et à d'autres langages fonctionnels reconnaîtront first, last, head et tail).
    Aucun intérêt sur une liste (c'est même + long), mais je trouve que ça rend le code + lisible et moins dépendant du type de données.
    <mode maviequelleestintéressante off>

    ----

    Attention au code suivant !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    # fred1599.py
    import string
    ponctuation=string.punctuation
    def parse(texte, *args):
        for p in ponctuation: texte=texte.replace(p, '')
        for mot in args:
            if mot in texte.split(): print "le mot %s, est dans le texte" %(mot)
            else : print "le mot %s, n'est pas dans le texte" %(mot)
    Je prends ma casquette d'oracle et j'annonce, sans tester, la catastrophe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    >>> from fred1599 import parse
    >>> parse('ponctuation = string.punctuation', 'string')
    le mot string, n'est pas dans le texte
    Par contre, 'string' sera trouvé dans le texte 'ponctuation=string.punctuation'... Ouh, que c'est vicieux !

    Je laisse la correction et l'explication comme exercice pour le lecteur (j'ai toujours rêvé d'écrire ça !)

  14. #14
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par nardo47 Voir le message
    Par exemple, j'ai, dans mon toolbox perso, une fonction qui me renvoie le premier élément d'un itérable (liste, générateur, etc.), une qui me renvoie le dernier élément d'un itérable, une qui me renvoie tout sauf le premier élément et une qui me renvoie tout sauf le dernier (ceux qui ont déjà touché à Haskell et à d'autres langages fonctionnels reconnaîtront first, last, head et tail).
    Je vois qu'il y a plus atteint que moi...

    Citation Envoyé par nardo47 Voir le message
    Je prends ma casquette d'oracle et j'annonce, sans tester, la catastrophe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    >>> from fred1599 import parse
    >>> parse('ponctuation = string.punctuation', 'string')
    le mot string, n'est pas dans le texte
    Ceci m'amène au patch suivant :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    #! /usr/bin/env python3
     
    import string
     
    CHARACTERS_TO_KEEP = [x for x in string.ascii_uppercase] + \
                         [
    # A
                          'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ',
    # C
                          'Ç',
    # E
                          'È', 'É', 'Ê', 'Ë',
    # I
                          'Ì', 'Í', 'Î', 'Ï',
    # N
                          'Ñ',
    # O
                          'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Œ', 
    # U
                          'Ù', 'Ú', 'Û', 'Ü',
    # Y
                          'Ý', 'Ÿ'
                         ]
     
     
    def cleanExotic(text):
        answer = ''
        for oneChar in text:
            if oneChar.upper() in CHARACTERS_TO_KEEP:
                answer += oneChar
            else:
                answer += ' '
        return answer
     
    def containAllWord(text, words):
        return all( oneWord in cleanExotic(text).split() for oneWord in words )
     
    def containAtLeastOneWord(text, words):
        return any( oneWord in cleanExotic(text).split() for oneWord in words  )
     
    if __name__ == '__main__':
        tests = [
                  ( """Ceci est une
                    phrase de       test.""", ["est", "une", "de"] ),
                  ( "Ceci est une autre phrase de test.", ["es", "une", "de"] ),
                  ( "Des mots les unsdanslesautres.", ["unsd", "sda"] ),
                  ( "Ceci est une autre phrase de test.", ["test"] ),
                  ( "ponctuation = string.punctuation", ["string"]),
                  ( "ponctuation=string.punctuation", ["string"])
               ]
     
        for oneTest in tests:
            print('')
     
            for oneFunction in [containAllWord, containAtLeastOneWord]:
                print( oneFunction.__name__ + '( """' + oneTest[0] + '""", ' + str(oneTest[1]) +' )',
                       '\t===> ' + str( oneFunction(oneTest[0], oneTest[1]) ),
                       sep = '\n' )
    La méthode de fred1599 possède un inconvénient puisqu'on a : string.punctuation ==> !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ . Donc il manquera des caractères exotiques comme par exemple ×.

    Quant à ma dernière méthode, elle est peu élégante car il faut rentrer à la main les caractères accentués ou les contractions 'Œ' et 'Æ'. Existe-t-il un moyen simple d'avoir toutes les lettres d'une langue ?

  15. #15
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par nardo47 Voir le message
    Après, l'appel à split est bien mais il va manquer des choses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>> "Ceci est un test.".split()
    ['Ceci', 'est', 'un', 'test.']
    >>> 'test' in "Ceci est un test.".split()
    False
    On peut "patcher" comme suit :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    #! /usr/bin/env python3
     
    import string
     
    CHARACTERS_TO_KEEP = [x for x in string.ascii_uppercase] + \
                         [
    # A
                          'À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ',
    # C
                          'Ç',
    # E
                          'È', 'É', 'Ê', 'Ë',
    # I
                          'Ì', 'Í', 'Î', 'Ï',
    # N
                          'Ñ',
    # O
                          'Ò', 'Ó', 'Ô', 'Õ', 'Ö',
    # U
                          'Ù', 'Ú', 'Û', 'Ü',
    # Y
                          'Ý', 'Ÿ'
                         ]
     
     
    def cleanExotic(text):
        answer = ''
        for oneChar in text:
            if oneChar.upper() in CHARACTERS_TO_KEEP:
                answer += oneChar
        return answer
     
    def splitCustom(text):
        answer = []
     
        for onePiece in text.split():
            answer.append( cleanExotic(onePiece) )
     
        return answer
     
    def containAllWord(text, words):
        return all( oneWord in splitCustom(text) for oneWord in words )
     
    def containAtLeastOneWord(text, words):
        return any( oneWord in splitCustom(text) for oneWord in words  )
     
    if __name__ == '__main__':
        tests = [
                  ( """Ceci est une
                    phrase de       test.""", ["est", "une", "de"] ),
                  ( "Ceci est une autre phrase de test.", ["es", "une", "de"] ),
                  ( "Des mots les unsdanslesautres.", ["unsd", "sda"] ),
                  ( "Ceci est une autre phrase de test.", ["test"] )
               ]
     
        for oneTest in tests:
            print('')
     
            for oneFunction in [containAllWord, containAtLeastOneWord]:
                print( oneFunction.__name__ + '( """' + oneTest[0] + '""", ' + str(oneTest[1]) +' )',
                       '\t===> ' + str( oneFunction(oneTest[0], oneTest[1]) ),
                       sep = '\n' )
    Pas très joli mais on ne peut pas programmer proprement et regarder la marche au championnat d'Europe.

    Question subsidiaire : les regex prennent-elles en compte les accents ?

  16. #16
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par rambc Voir le message
    Question subsidiaire : les regex prennent-elles en compte les accents ?
    Il suffit d'essayer avec le code d'equyem et cela marche.

    Par contre ce code possède l'inconvénient de considérer bon un mot contenu dans un autre.

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

Discussions similaires

  1. rechercher plusieurs mot dans une phrase
    Par andromeda dans le forum C#
    Réponses: 5
    Dernier message: 14/10/2010, 01h34
  2. [MySQL] Tester la présence d'un élément dans une table
    Par une_tite_question dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/09/2008, 14h47
  3. Tester la présence d'un attribut dans une BD
    Par michouhayoo dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 26/04/2008, 15h57
  4. Tester la présence d'un enregistrement dans une table ?
    Par Evocatii dans le forum Requêtes
    Réponses: 5
    Dernier message: 25/02/2008, 21h02
  5. Tester la présence d'un caractère dans une chaine
    Par sebinator dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/11/2007, 14h23

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