[R] Recherche d'un mot dans un string

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
GMH
Niveau 6
Niveau 6
Messages : 227
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

[R] Recherche d'un mot dans un string

#1

Message par GMH »

Bonjour,

Je cherche à tester si un mot est présent dans une ligne.
J'ai testé :

Code : Tout sélectionner

If StringInStr($Ligne,StringStripWS($Mot,3)) > 0 Then MsgBox(0,"","Mot trouvé")
Mais ce code me renvoie les mots "tantôt" , "restant" alors que j'attends le mot "tant".

J'ai essayé la fonction StringRegExp mais n'obtenant rien, je pense que je ne sais pas l'utiliser :

Code : Tout sélectionner

If StringRegExp($Ligne, '(\W|^)$Mot(\W|$)',0) = 1 Then MsgBox(0,"","Mot trouvé")
Sauriez-vous m'aider à trouver le bon code ?
Je vous remercie.
Modifié en dernier par GMH le jeu. 16 juin 2016 15:39, modifié 1 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Recherche d'un mot dans un string

#2

Message par orax »

(?i) = non sensible à la casse.
If StringRegExp($Ligne, "(*UCP)(?i)\b" & $Mot & "\b") Then MsgBox(0, "", "Mot trouvé")
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
GMH
Niveau 6
Niveau 6
Messages : 227
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

Re: [..] Recherche d'un mot dans un string

#3

Message par GMH »

Je vous remercie. Ca fonctionne bien. Je n'obtiens plus de mots contenant la valeur recherchée (comme avec la fonction StringInStr) mais bien le mot recherché.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [R] Recherche d'un mot dans un string

#4

Message par orax »

J'ai corrigé mon code. J'ai ajouté (*UCP).
Pour voir la différence :
$Ligne = "tantœ"
$Mot = "tant"
If StringRegExp($Ligne, "(?i)\b" & $Mot & "\b") Then MsgBox(0, "", "Mot trouvé (sans (*UCP))")
If StringRegExp($Ligne, "(*UCP)(?i)\b" & $Mot & "\b") Then MsgBox(0, "", "Mot trouvé")
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
GMH
Niveau 6
Niveau 6
Messages : 227
Enregistré le : dim. 24 juin 2012 14:56
Status : Hors ligne

Re: [R] Recherche d'un mot dans un string

#5

Message par GMH »

Merci pour cette correction qui améliore la recherche.
Répondre