This page was translated from English by the community.Learn more and join the MDN Web Docs community.
String.prototype.substring()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Сводка
Методsubstring() возвращает часть строки от начального индекса до конечного (не включая его), или, если конечный индекс не указан, — до конца строки.
In this article
Синтаксис
str.substring(indexA[, indexB])
Параметры
Описание
Методsubstring() извлекает символы, начиная с индексаindexA до, но не включая, индексindexB. В частности:
- Если аргумент
indexAравен аргументуindexB, методsubstring()вернёт пустую строку. - Если аргумент
indexBопущен, методsubstring()извлечёт символы до конца строки. - Если любой из аргументов меньше, либо равен нулю или равен
NaN, он будет трактоваться как равный 0. - Если любой из аргументов больше, чем
stringName.length, он будет трактоваться как равныйstringName.length.
Если аргументindexA будет больше аргументаindexB, то методsubstring() сработает так, как если бы аргументы были поменяны местами; например,str.substring(1, 0) == str.substring(0, 1).
Примеры
>Пример: использование методаsubstring()
В следующем примере методsubstring() используется для отображения символов из строки'Mozilla':
var anyString = "Mozilla";// Отобразит 'Moz'console.log(anyString.substring(0, 3));console.log(anyString.substring(3, 0));// Отобразит 'lla'console.log(anyString.substring(4, 7));console.log(anyString.substring(7, 4));// Отобразит 'Mozill'console.log(anyString.substring(0, 6));// Отобразит 'Mozilla'console.log(anyString.substring(0, 7));console.log(anyString.substring(0, 10));Пример: использование методаsubstring() вместе со свойствомlength
Следующий пример использует методsubstring() и свойствоlength для извлечения последних символов из строки. Этот метод может оказаться легче для запоминания, особенно если учесть, что вам не нужно знать начальный и конечный индексы, как это было в примере выше.
// Отобразит 'illa' - последние 4 символаvar anyString = "Mozilla";var anyString4 = anyString.substring(anyString.length - 4);console.log(anyString4);// Отобразит 'zilla' - последние 5 символовvar anyString = "Mozilla";var anyString5 = anyString.substring(anyString.length - 5);console.log(anyString5);Пример: замена подстроки в строке
Следующий пример демонстрирует замену подстроки в строке. Он заменит как отдельные символы, так и целые подстроки. Вызов функции в конце примера изменит строку'Дивный новый мир' на строку'Дивный новый веб'.
// Заменяет oldS на newS в строке fullSfunction replaceString(oldS, newS, fullS) { for (var i = 0; i < fullS.length; ++i) { if (fullS.substring(i, i + oldS.length) == oldS) { fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length); } } return fullS;}replaceString("мир", "веб", "Дивный новый мир");Обратите внимание, что функция может скатиться в бесконечный цикл, если строкаoldS сама является подстрокой дляnewS — например, если вы попытаетесь заменить слово «мир» на слово «другоймир». Лучше использоваться следующий метод для замены строк:
function replaceString(oldS, newS, fullS) { return fullS.split(oldS).join(newS);}Код выше следует рассматривать всего лишь как пример работы с подстроками. Если вам нужно заменить подстроки, скорее всего вы захотите использовать методString.prototype.replace().
Спецификации
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.substring> |