Page 1 sur 1

[R] Recherche d'un mot dans un string

Posté : jeu. 16 juin 2016 11:10
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.

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

Posté : jeu. 16 juin 2016 13:36
par orax
(?i) = non sensible à la casse.
If StringRegExp($Ligne, "(*UCP)(?i)\b" & $Mot & "\b") Then MsgBox(0, "", "Mot trouvé")

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

Posté : jeu. 16 juin 2016 15:28
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é.

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

Posté : jeu. 16 juin 2016 16:00
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é")

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

Posté : jeu. 16 juin 2016 19:39
par GMH
Merci pour cette correction qui améliore la recherche.