Работа со строками — это обыденная задача при программировании на JavaScript. Однако, не всегда новичкам сразу становится понятно, как проверить наличие определенной подстроки в строке. Многие могут ожидать наличия метода String.contains()
, однако он не существует.
Например, необходимо узнать, содержит ли строка "Hello, World!"
подстроку "World"
.
Для этого в JavaScript существует несколько методов:
Метод String.indexOf()
Самым простым и часто используемым методом является String.indexOf(substring)
. Этот метод возвращает индекс, по которому начинается подстрока внутри исходной строки. Если подстрока не найдена, то метод возвращает -1
.
let str = "Hello, World!"; let substr = "World"; if (str.indexOf(substr) !== -1) { console.log('Подстрока найдена!'); } else { console.log('Подстрока не найдена!'); }
Метод String.includes()
С приходом стандарта ES6 в JavaScript появился метод String.includes(substring)
, который делает ту же самую операцию, что и String.indexOf(substring)
, но возвращает булево значение.
let str = "Hello, World!"; let substr = "World"; if (str.includes(substr)) { console.log('Подстрока найдена!'); } else { console.log('Подстрока не найдена!'); }
Метод String.search()
Еще один метод для поиска подстроки — String.search(regexp)
. Он принимает регулярное выражение и возвращает индекс первого совпадения. Если совпадений нет, то возвращает -1
.
let str = "Hello, World!"; let substr = "World"; if (str.search(substr) !== -1) { console.log('Подстрока найдена!'); } else { console.log('Подстрока не найдена!'); }
Все эти методы решают задачу проверки наличия подстроки в строке, и выбор определенного метода зависит от специфических требований и предпочтений разработчика.
Добавить комментарий