«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как проверить, содержит ли строка какие-либо подстроки из массива в JavaScript?

Как проверить, содержит ли строка какие-либо подстроки из массива в JavaScript?

Опубликовано 6 ноября 2024 г.
Просматривать:311

How to Check if a String Contains Any of the Substrings from an Array in JavaScript?

Поиск подстрок в строке с помощью массивов JavaScript

Чтобы определить, содержит ли строка какие-либо подстроки из массива, JavaScript предлагает гибкие подходы .

Некоторый метод массива

Метод some выполняет итерацию по массиву, предоставляя функцию обратного вызова для проверки каждого элемента. Чтобы проверить наличие подстрок, используйте метод indexOf() для поиска каждого элемента массива в строке:

if (substrings.some(function(v) { return str.indexOf(v) >= 0; })) {
    // There's at least one substring match
}

Регулярное выражение

Регулярные выражения предлагают мощный способ сопоставления текстовых шаблонов. Чтобы найти любую подстроку в массиве внутри строки, создайте регулярное выражение со всеми подстроками в качестве альтернативных вариантов и используйте метод test():

const regex = new RegExp(substrings.join("|"));
if (regex.test(str)) {
    // At least one substring matches
}

Пример

Рассмотрим массив подстрок:

const substrings = ["one", "two", "three"];

Строка с совпадением подстроки

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("|")));

Строка без совпадения подстроки

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("|")));

Результаты

Тест МетодСтрока с совпадениемСтрока без совпадения
Array somesomeMethodMatch = truesomeMethodNoMatch = false
Регулярное выражениеregexMatch = trueregexNoMatch = null
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3