В JavaScript есть несколько методов для поиска подстроки внутри строки. Можно проверить наличие фрагмента текста, найти позицию первого или последнего вхождения, либо воспользоваться регулярными выражениями для более сложного поиска.
includes — проверка наличия подстроки
includes проверяет, содержится ли подстрока в строке, и возвращает true или false.
const text = 'Сегодня солнечная погода';
console.log(text.includes('солнечная')); // true
console.log(text.includes('дождь')); // falseindexOf — индекс первого вхождения
indexOf возвращает позицию первого найденного вхождения подстроки или -1, если подстрока не найдена.
const text = 'Сегодня солнечная погода';
console.log(text.indexOf('с')); // 0 (первая буква "с")
console.log(text.indexOf('погода')); // 18
console.log(text.indexOf('снег')); // -1Поиск с заданной позиции
console.log(text.indexOf('с', 5)); // 8 (вторая буква "с" в слове "солнечная")lastIndexOf — индекс последнего вхождения
lastIndexOf ищет подстроку с конца строки.
const text = 'Сегодня сегодня солнечно';
console.log(text.lastIndexOf('сегодня')); // 8search — поиск с регулярным выражением
search возвращает индекс первого совпадения с шаблоном. Поддерживает регулярные выражения.
const text = 'Сегодня солнечная погода';
console.log(text.search(/погода/)); // 18
console.log(text.search(/дождь/)); // -1match — поиск всех совпадений по регулярному выражению
match возвращает массив всех найденных совпадений.
const text = 'кот котенок кот';
console.log(text.match(/кот/g)); // ['кот', 'кот', 'кот']startsWith — проверка начала строки
startsWith проверяет, начинается ли строка с указанной подстроки.
const text = 'Сегодня солнечная погода';
console.log(text.startsWith('Сегодня')); // true
console.log(text.startsWith('погода')); // falseendsWith — проверка конца строки
endsWith проверяет, заканчивается ли строка на указанную подстроку.
const text = 'Сегодня солнечная погода';
console.log(text.endsWith('погода')); // true
console.log(text.endsWith('Сегодня')); // falseПоиск подстроки в JavaScript — это базовая операция при работе с текстом. Методы includes, indexOf, search, match, startsWith и endsWith позволяют решать задачи разного уровня сложности, от простой проверки до сложного текстового парсинга. Выбор метода зависит от задачи и требований к точности поиска.