Метод String slice() в JavaScript с примерами

В этом руководстве вы узнаете, как использовать метод объекта String slice() в JavaScript для извлечения подстроки из строки.

Метод String.prototype.slice() извлекает часть строки и возвращает ее как подстроку. Ниже показан синтаксис:

slice(start, end)

Метод slice() имеет два необязательных параметра start и end.

start

Параметр start — это отсчитываемый от нуля индекс, с которого метод начинает извлечение. Например:

const str = 'Hello';
const substr = str.slice(3);

console.log({ substr });

Выход:

{ substr: 'lo' }

Параметр start

Если start отрицательный, метод slice() начинает извлечение из str.length + start. Например:

const str = 'Hello';
const substr = str.slice(-3);

console.log({ substr });

Выход:

{ substr: 'llo' }

Отрицательный start

Если start опущен, не определен или не может быть преобразован в число, метод slice() начинает извлечение с начала строки:

const str = 'Hello';
const substr = str.slice();

console.log({ substr });

Выход:

{ substr: 'Hello' }

Извлечение с начала строки

Если start больше или равен длине строки, метод slice() возвращает пустую строку. Например:

const str = 'Hello';
const substr = str.slice(5);

console.log({ substr });

Выход:

{ substr: '' }

start больше или равен длине строки

end

end — это отсчитываемый от нуля индекс, который указывает позицию перед тем, как метод slice() завершит извлечение. Строка результата не будет включать символ в end индекса. Например:

const str = 'Hello';
const substr = str.slice(0, 2);

console.log({ substr });

Выход:

{ substr: 'He' }

Параметр end

Если end отрицательный, метод slice() обрабатывает его как str.length + end. Например:

const str = 'Hello';
const substr = str.slice(0, -2);

// str.length 5
// str.length + end = 5 +(-2) = 3

console.log({ substr });

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

const str = 'Hello';
const substr = str.slice(2, 6);

console.log({ substr });

Выход:

{ substr: 'llo' }

end больше длины строки

Если end опущен, не определен или не может быть преобразован в число, метод slice() также извлекает в конец строки. Например:

const str = 'Hello';
const substr = str.slice(3);

console.log({ substr });

Выход:

{ substr: 'lo' }

Параметр end опущен

Если end представляет позицию, предшествующую позиции, представленной start, метод slice() возвращает пустую строку. Например:

const str = 'Hello';
const substr = str.slice(3, 2);

console.log({ substr });

Выход:

{ substr: '' }

Пустая строка

Практический пример метода slice()

В следующем примере используется метод slice() для получения локальной части адреса электронной почты:

let email = 'john@example.com'
let localPart = email.slice(0,email.indexOf('@'));

console.log(localPart);

Выход:

john

Как это работает:

  • Сначала используйте метод indexOf(), чтобы найти знак @. Возвращаемое значение indexOf() используется в качестве второго аргумента метода slice().
  • Затем используйте метод slice() для извлечения локальной части электронного письма, начиная с начала строки и заканчивая символом перед знаком @.
Рейтинг
( Пока оценок нет )
Александр Русаков / автор статьи
Программист, разработчик, 12 лет опыта работы в крупных компаниях. Быстро освоил typescript, делюсь своими знаниями на страницах этого сайта.
Загрузка ...
JavaScript и TypeScript