Je connais la recherche d'une chaîne pour une chaîne donnée:Comment rechercher un mot (pas seulement une sous-chaîne) dans une chaîne en javascript?
if (string.indexOf(substring) > -1) {
var containsSubstring = true;
}
Mais si la sous-chaîne doit être un mot?
Un mot:
- il doit être au début de la chaîne avec un espace après; ou
- à la fin de la chaîne avec un espace avant celle-ci; ou
- au milieu de la chaîne avec un espace de chaque côté
Si je suis à la recherche de la sous-chaîne fox
:
the quick brown fox // matches
fox jumps over the lazy dog // matches
quick brown fox jumps over // matches
the quick brownfox // does not match
foxjumps over the lazy dog // does not match
quick brownfox jumps over // does not match
quick brown foxjumps over // does not match
quick brownfoxjumps over // does not match
Est-il possible d'atteindre les résultats ci-dessus avec indexOf
ou aurai-je besoin d'utiliser regex?
Quelle est la différence entre une chaîne et un mot dans ce contexte? – Y2H
Avez-vous envisagé d'utiliser regex? Ou jQuery – evolutionxbox
Regex est probablement le plus propre, mais l'utilisation d'un espace fonctionnerait si vous vérifiez toutes les coditions –