Maison  >  Article  >  interface Web  >  Comment détecter des sous-chaînes dans une chaîne à l’aide de JavaScript ?

Comment détecter des sous-chaînes dans une chaîne à l’aide de JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 10:45:02360parcourir

How to Detect Substrings in a String Using JavaScript?

Détection de sous-chaînes dans une chaîne à l'aide de JavaScript

Lorsque vous travaillez avec des chaînes en JavaScript, une tâche courante consiste à vérifier si elles contiennent du texte provenant d'un ensemble prédéfini de sous-chaînes. Bien que JavaScript n'offre pas de solution intégrée, voici deux approches pour relever ce défi.

Array some Method

Exploiter la méthode Array some() ( ES5), vous pouvez parcourir le tableau de sous-chaînes et vérifier si l'une d'entre elles existe dans la chaîne cible.

<code class="javascript">if (substrings.some(function(v) { return str.indexOf(v) >= 0; })) {
    // There's at least one
}</code>

Pour un code plus propre, pensez à utiliser les fonctions fléchées et la méthode include() (ES2015) :

<code class="javascript">if (substrings.some(v => str.includes(v))) {
    // There's at least one
}</code>

Expression régulière

Une autre option consiste à utiliser une expression régulière. Bien que plus complexe, cette approche vous permet de rechercher plusieurs modèles simultanément.

<code class="javascript">const re = new RegExp(substrings.join('|'));
if (re.test(str)) {
    // There's at least one match
}</code>

En joignant les sous-chaînes dans une chaîne d'expression régulière, vous pouvez tester leur présence dans la chaîne cible.

Exemple

<code class="javascript">const substrings = ["one", "two", "three"];
const str = "this has one";

// Expected match
if (substrings.some(v => str.includes(v))) {
    console.log("Match found.");
} else {
    console.log("No match found.");
}</code>

Sortie :

Match trouvé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn