В этом руководстве вы узнаете, как использовать метод JavaScript substring()
для извлечения подстроки из строки.
JavaScript String.prototype.substring()
возвращает часть строки между начальным и конечным индексами:
str.substring(startIndex [, endIndex])
Метод substring()
принимает два параметра: startIndex
и endIndex
:
startIndex
указывает индекс первого символа, который нужно включить в возвращаемую подстроку.endIndex
определяет первый символ, исключаемый из возвращаемой подстроки. Другими словами, возвращаемая подстрока не включает символ в endIndex.
- Если вы опустите
endIndex
,substring()
вернет подстроку в конец строки. - Если
startIndex
равенendIndex
, метод возвращает пустую строку. - Если
startIndex
больше, чемendIndex
,substring()
меняет свои роли: startIndex становится endIndex и наоборот. - Если
startIndex
илиendIndex
меньше нуля или больше, чемstring.length
,substring()
рассматривает его как ноль(0) илиstring.length
соответственно. - Если какой-либо параметр имеет значение
NaN
, функция обрабатывает его так, как если бы он был равен нулю(0).
Содержание
Примеры
Давайте рассмотрим несколько примеров использования метода JavaScript substring()
.
1) Извлечение подстроки из начала строки
В следующем примере метод substring используется для извлечения подстроки, начиная с начала строки:
let str = 'JavaScript Substring'; let substring = str.substring(0,10); console.log(substring);
Выход:
JavaScript
2) Извлечение подстроки в конец строки
В следующем примере функция substring() используется для извлечения подстроки от индекса 11 до конца строки:
let str = 'JavaScript Substring'; let substring = str.substring(11); console.log(substring);
Выход:
Substring
3) Пример извлечения домена из электронной почты
В следующем примере используется substring()
с indexOf()
для извлечения домена из электронной почты:
let email = 'john.doe@gmail.com'; let domain = email.substring(email.indexOf('@') + 1); console.log(domain); // gmail.com
Как это работает:
- Во-первых,
indexOf()
возвращает позицию символа @. - Затем подстрока возвращает домен, который начинается с индекса
@
плюс 1 до конца строки.