Teilzeichenfolgen in einer Zeichenfolge mit JavaScript-Arrays finden
Um festzustellen, ob eine Zeichenfolge Teilzeichenfolgen aus einem Array enthält, bietet JavaScript flexible Ansätze .
Array Some Method
Die Some-Methode iteriert über ein Array und stellt eine Rückruffunktion zum Testen jedes Elements bereit. Um nach Teilzeichenfolgen zu suchen, verwenden Sie die Methode indexOf(), um nach jedem Array-Element innerhalb der Zeichenfolge zu suchen:
if (substrings.some(function(v) { return str.indexOf(v) >= 0; })) {
// There's at least one substring match
}
Regulärer Ausdruck
Reguläre Ausdrücke bieten eine leistungsstarke Möglichkeit, Textmuster abzugleichen. Um nach einer beliebigen Teilzeichenfolge im Array innerhalb der Zeichenfolge zu suchen, erstellen Sie einen regulären Ausdruck mit allen Teilzeichenfolgen als alternative Optionen und verwenden Sie die test()-Methode:
const regex = new RegExp(substrings.join("|"));
if (regex.test(str)) {
// At least one substring matches
}
Beispiel
Betrachten wir ein Array von Teilzeichenfolgen:
const substrings = ["one", "two", "three"];
String with Substring Match
const str = "This string includes \"one\".";
// Using array some method
const someMethodMatch = substrings.some(v => str.includes(v));
// Using regular expression
const regexMatch = str.match(new RegExp(substrings.join("|")));
String ohne Substring Match
const str = "This string doesn't have any substrings.";
// Using array some method
const someMethodNoMatch = substrings.some(v => str.includes(v));
// Using regular expression
const regexNoMatch = str.match(new RegExp(substrings.join("|")));
Ergebnisse
Test Methode | String mit Übereinstimmung | String ohne Übereinstimmung |
---|---|---|
Array some | someMethodMatch = true | someMethodNoMatch = false |
Regulärer Ausdruck | regexMatch = true | regexNoMatch = null |
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3