Javascript: trouver un mot dans la chaîne de
N'Javascript ont une fonction intégrée de voir si un mot est présent dans une chaîne de caractères? Je ne suis pas à la recherche de quelque chose comme indexOf()
, mais plutôt:
find_word('test', 'this is a test.') -> true
find_word('test', 'this is a test') -> true
find_word('test', 'I am testing this out') -> false
find_word('test', 'test this out please') -> true
find_word('test', 'attest to that if you would') -> false
Essentiellement, je voudrais savoir si mon mot apparaît, mais pas en tant que partie d'un autre mot. Il ne serait pas trop difficile à mettre en œuvre manuellement, mais j'ai pensé que je demanderais à voir s'il existe déjà une fonction intégrée de ce genre, puisqu'il semble que ce serait quelque chose qui revient beaucoup.
double possible de Comment puis-je vérifier si une chaîne contient une autre sous-chaîne de caractères en JavaScript?
avez-vous lu la question?
En fait, oui, je vois le seul endroit où c'est faux parce que d'être du "testing", et donc, c'est toute la différence. Mais votre question se lit comme "je n'aime pas la syntaxe de indexOf(), ce que je peux utiliser à la place de" au lieu de réellement expliquer que indexOf() ne fait pas ce que je veux, parce que ... explication
Oui je l'ai fait. Liés réponse traite de la regex, bien que brièvement.
La personne qui pose la question est de demander à un fondamentalement différente de la question, et la numérisation des réponses je ne vois pas de réponse à la question ci-dessus. Toutes mes excuses si je suis en manque de quelque chose.
avez-vous lu la question?
En fait, oui, je vois le seul endroit où c'est faux parce que d'être du "testing", et donc, c'est toute la différence. Mais votre question se lit comme "je n'aime pas la syntaxe de indexOf(), ce que je peux utiliser à la place de" au lieu de réellement expliquer que indexOf() ne fait pas ce que je veux, parce que ... explication
Oui je l'ai fait. Liés réponse traite de la regex, bien que brièvement.
La personne qui pose la question est de demander à un fondamentalement différente de la question, et la numérisation des réponses je ne vois pas de réponse à la question ci-dessus. Toutes mes excuses si je suis en manque de quelque chose.
OriginalL'auteur Mala | 2014-08-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
split
etsome
:Ou l'utilisation d'une expression régulière avec les limites de mot:
Je suppose que pour faire le premier travail, on pourrait utiliser
.split(/\s*\b\s*/)
comme par stackoverflow.com/questions/24718348/.... Ne connaissais pas l' .certaines() la fonction, donc merci pour m'enseigner que trop 🙂Les deux fonctions ne sont pas équivalents.
findWord('test', 'test-team')
sera de retour false dans le premier cas, et true dans le second. Le premier devrait se diviser sur\b
ou la deuxième utilisation' '
. La seconde est probablement beaucoup plus rapide pour les grandes chaînes.OriginalL'auteur elclanrs
Non, il n'est pas un construit en fonction pour cela. Vous devez ajouter de la programmation comme une regex ou split() par des espaces puis de comparer le résultat == 'test'.
OriginalL'auteur Jeff Clayton