Подстрока в строке в JavaScript: как получить часть строки в JS

В 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 позволяют решать задачи разного уровня сложности, от простой проверки до сложного текстового парсинга. Выбор метода зависит от задачи и требований к точности поиска.