substring() в JavaScript
- Что такое substring()
- Синтаксис
- Начальный и конечный индекс
- Один аргумент
- Если начало больше конца
- Отрицательные индексы
- substring() и slice()
- Строка не меняется
- Итого
substring() возвращает часть строки между двумя индексами.
let text = 'JavaScript';
console.log(text.substring(0, 4));
Результат:
Java
Метод взял символы с индекса 0 до индекса 4. Символ с индексом 4 в результат не попал.
Что такое substring()
substring() - это метод строки, который получает часть строки и возвращает ее как новую строку.
let message = 'Привет, Анна';
console.log(message.substring(8, 12));
Результат:
Анна
Метод похож на slice(), но у него есть несколько особенностей.
Синтаксис
Основная запись выглядит так:
string.substring(start, end);
start - индекс, с которого начинается часть строки.
end - индекс, перед которым нужно остановиться.
let word = 'JavaScript';
console.log(word.substring(4, 10));
Результат:
Script
Начальный и конечный индекс
Первый аргумент указывает начало, второй - конец. Конечный индекс не включается в результат.
let word = 'котенок';
console.log(word.substring(0, 3));
Результат:
кот
Метод взял символы с индексами 0, 1 и 2.
Один аргумент
Если передать один аргумент, substring() вернет строку от этого индекса до конца.
let word = 'JavaScript';
console.log(word.substring(4));
Результат:
Script
Если начало больше конца
Если первый индекс больше второго, substring() поменяет их местами.
let word = 'JavaScript';
console.log(word.substring(4, 0));
Результат:
Java
Запись substring(4, 0) сработала так же, как substring(0, 4).
Отрицательные индексы
substring() не работает с отрицательными индексами так, как slice().
let word = 'JavaScript';
console.log(word.substring(-6));
Результат:
JavaScript
Отрицательное значение метод воспринимает как 0. Поэтому результатом стала вся строка.
substring() и slice()
substring() и slice() часто дают одинаковый результат.
let word = 'JavaScript';
console.log(word.substring(0, 4));
console.log(word.slice(0, 4));
Результат:
Java
Java
Но есть отличия.
substring()меняет аргументы местами, если первый больше второго.slice()в такой ситуации вернет пустую строку.slice()поддерживает отрицательные индексы.substring()отрицательные значения воспринимает как0.
Строка не меняется
substring() не изменяет исходную строку. Он возвращает новое значение.
let word = 'JavaScript';
let part = word.substring(0, 4);
console.log(word);
console.log(part);
Результат:
JavaScript
Java
Итого
substring() возвращает часть строки между двумя индексами.
substring(start, end)берет строку отstartдоend.- Конечный индекс не включается в результат.
- Если передать один аргумент, метод вернет строку от него до конца.
- Если
startбольшеend, метод поменяет их местами. - Отрицательные значения воспринимаются как
0. - Исходная строка не меняется.