Ruby regex "contient un mot"
En Ruby, comment puis-je écrire une regex pour inspecter un envoi pour un seul mot?
Imaginer que j'ai un formulaire web qui accepte du texte. Je sais que si je veux voir si la phrase ---- contient "join" je peux utiliser
if the_body == "join"
Mais qui ne fonctionne que si l'ensemble du texte de présentation est "rejoindre".
Comment puis-je reprendre une présentation comme ceci:
"Je veux rejoindre votre club?" ou
"Rejoins-moi s'il vous plaît"
Merci!
source d'informationauteur DougN | 2012-03-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire avec
ou
Une petite mise à jour concernant les performances commentaire:
Alors que la différence de vitesse n'a pas vraiment d'importance ici, la regex version était en fait plus rapide.
Bonne solution pour trouver un MOT dans une chaîne de caractères est
the_body.match(/\bjoin\b/i)
ou utiliser d'autres regex:(\W|^)join(\W|$)
Veuillez noter que nous avons besoin de savoir si un "join" MOT existe ou non dans la chaîne. Toutes les solutions ci-dessus échoue pour les chaînes de caractères comme:
they are joining canals
ouMy friend Bonjoiny is a cool guy
Il n'y a pas besoin de Regexp ici --
String#include?
va faire le travail.