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