Поиск в строке JavaScript. Работа с подстрокой | OTUS
⚡ Открываем подписку на курсы!
Проходите параллельно 3 онлайн-курса в месяц по цене одного.
Подробнее

Курсы

Программирование
Flutter Mobile Developer Подготовка к сертификации Oracle Java Programmer (OCAJP)
-8%
Алгоритмы и структуры данных
-12%
Web-разработчик на Python
-11%
Архитектура и шаблоны проектирования
-14%
JavaScript Developer. Basic Супер-интенсив «СУБД в высоконагруженных системах»
-18%
iOS-разработчик. Базовый курс
-23%
Разработчик на Spring Framework
-23%
Python Developer. Basic
-16%
C# ASP.NET Core разработчик
-18%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
JavaScript Developer. Professional
-9%
Android Developer. Basic
-10%
Java Developer. Professional Разработчик C# AWS для разработчиков Highload Architect Reverse-Engineering. Professional CI/CD Vue.js разработчик Agile Project Manager Нереляционные базы данных Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Advanced Fullstack JavaScript developer
Инфраструктура
PostgreSQL
-10%
IoT-разработчик
-12%
Administrator Linux. Professional
-11%
Базы данных
-19%
Administrator Linux.Basic
-18%
Супер-интенсив «СУБД в высоконагруженных системах»
-18%
Супер-интенсив "SQL для анализа данных"
-16%
Software Architect
-12%
Сетевой инженер AWS для разработчиков Highload Architect Разработчик голосовых ассистентов и чат-ботов Внедрение и работа в DevSecOps Администратор Linux. Виртуализация и кластеризация Нереляционные базы данных Супер-практикум по использованию и настройке GIT
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Поиск в строке JavaScript. Работа с подстрокой

В предыдущей статье мы начали тему работы со строками в JavaScript. В этом материале вы узнаете, как выполнять поиск в строке, как работать с подстрокой, как извлекать часть строки и т. д.

Поиск строки в строке в JavaScript

С помощью метода IndexOf() можно вернуть индекс первого вхождения заданного текста в строку:

var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate");

В нашем случае происходит подсчёт позиции с нуля. При этом: 1) 0 — первая позиция в строке, 2) 1 — вторая, 3) 2 — третья...

Идём дальше. Функция LastIndexOf() в JavaScript вернёт индекс последнего вхождения:

var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("locate");

Оба этих метода принимают 2-й параметр в виде начальной позиции для поиска:

var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate",15);

Стоит упомянуть и функцию Search() — она выполняет поиск строки для заданного значения, возвращая позицию совпадения:

var str = "Please locate where 'locate' occurs!";
var pos = str.search("locate");

Метод slice () в JavaScript

Функция slice() извлечёт часть строки и вернёт извлечённую часть в новой строке. Метод способен принимать два параметра: начальный индекс (это положение) и конечный индекс (речь идёт о позиции).

К примеру, давайте нарежем часть строки из позиции 7 в положение 13:

var str = "Apple, Banana, Kiwi";
var res = str.slice(7, 13);

В нашем случае результатом будет:

Banana

Если параметр будет иметь отрицательное значение, то позиция будет учитываться с конца строки. Например:

var str = "Apple, Banana, Kiwi";
var res = str.slice(-12, -6);

Результат будет тот же.

Кстати, если 2-й параметр опустить, то метод сделает срез оставшейся части строки:

var res = str.slice(7);

Результатом будет:

Banana, Kiwi

То же самое получим, выполнив срез с конца:

var res = str.slice(-12);

Остаётся лишь добавить, что отрицательные позиции не функционируют в Internet Explorer 8 и других, более ранних версиях.

Метод подстроки в JavaScript

Подстрока в JavaScript аналогична срезу с той разницей, что подстрока не способна принимать отрицательные индексы:

var str = "Apple, Banana, Kiwi";
var res = str.substring(7, 13);

В качестве результата опять получим «Banana».

Если же мы опустим 2-й параметр, то подстрока разрежет оставшуюся часть строки.

Метод substr () в JavaScript

Строковый метод substr() похож на slice() с той разницей, что 2-й параметр показывает длину извлечённой детали.

var str = "Apple, Banana, Kiwi";
var res = str.substr(7, 6);

Результат: Banana.

Мы можем опустить 2-й параметр — тогда строковый метод substr() разрежет оставшуюся часть строки.

var str = "Apple, Banana, Kiwi";
var res = str.substr(7);

Получим: Banana, Kiwi.

Если 1-й параметр будет отрицательным, позиция будет рассчитываться с конца строки.

var str = "Apple, Banana, Kiwi";
var res = str.substr(-4);

Результат: Kiwi.

Меняем содержимое строки в JavaScript

Строковый метод Replace() позволит заменить указанное значение иным значением в строке:

str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3Schools");

Результат: Please visit W3Schools!

Обратите внимание, что метод Replace() не изменит строку, в которой вызывается, а возвратит новую.

В следующем примере функция Replace() меняет лишь первое совпадение:

str = "Please visit Microsoft and Microsoft!";
var n = str.replace("Microsoft", "W3Schools");

Итог: Please visit W3Schools and Microsoft!

Кстати, по умолчанию Replace() учитывает регистр. Написав MICROSOFT, мы увидим, что функция работать не будет: Пример

str = "Please visit Microsoft!";
var n = str.replace("MICROSOFT", "W3Schools");

Но мы можем заменить регистр без его учёта, если воспользуемся регулярным выражением с пометкой " i ":

str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3Schools");

Результат: Please visit W3Schools!

Здесь стоит заметить, что регулярные выражения надо писать без кавычек.

Если желаете заменить все совпадения, воспользуйтесь регулярным выражением с флагом /g:

str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3Schools");

Тут получим следующее: Please visit W3Schools and W3Schools!

Извлекаем строковые символы в JavaScript

Есть 2 безопасных строковых функции для извлечения строковых символов: • charCodeAt (позиция); • charAt (позиция).

Функция charAt() возвратит символ по указанному нами индексу (позиции) в строке:

var str = "HELLO WORLD";
str.charAt(0);         

Вывод:

H

Что касается метода charCodeAt(), то он вернёт Юникод символа по указанному нами индексу:

var str = "HELLO WORLD";

str.charCodeAt(0);         // вернёт 72

Что ж, на этом всё, удачного вам кодинга!

Источник

Интересует профессиональный курс по JavaScript-разработке? Переходите по ссылке ниже:

JS_970x90-20219-c6e520.jpg

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться