Удаление первого и последнего символа строки в JavaScript
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Для удаления первого и последнего символов в строке на JavaScript используйте метод slice
:
let str = "Пример";
let trimmed = str.slice(1, -1); // Получаем "риме" — прощайте, крайние "П" и "р"!
Метод slice(1, -1)
удаляет из строки первый и последний символы, оставляя от слова "Пример" только "риме".
Slice vs. substring vs. substr
Метод substring
в JavaScript тоже может обрезать края строки. Но, в отличие от slice
, принимающего отрицательные индексы для указания символов с конца, substring
основывается на длине строки:
let str = "Пример";
let substrTrimmed = str.substring(1, str.length – 1); // Деликатно избавляемся от крайних букв
Что касается substr
, то применение этого метода ушло в прошлое (прощай, наш верный спутник). Несмотря на то, что он требует индекс начала и длину извлекаемой подстроки, из-за устаревшести его лучше не использовать и предпочесть другие функции.
Регулярные выражения (RegExp)
Любителям регулярных выражений будет интересен ещё один способ с применением JavaScript RegExp:
let str = "/Пример/";
let regexTrimmed = str.replace(/^.|.$/g, ''); // Удаляем первый и последний символы с помощью регулярных выражений.
Регулярные выражения предоставляют мощные функции поиска и замены, облегчая работу по удалению нежелательных символов в начале (^.
) и конце (.$
) строки.
Особые случаи
Будьте внимательны со строками, начинающимися или заканчивающимися на специальные символы. В таких случаях на помощь придут регулярные выражения:
let url = "/пример/";
let cleanUrl = url.replace(/^\/?|\/?$/g, ''); // Регулярные выражения эффективно удаляют нежелательные слеши в начале и в конце.
Используемый тут шаблон уберёт возможные слеши в начале и конце строки.
Визуализация
Представьте, что каждый символ – это вагон поезда:
Поезд-строка: [🔤🔢🅰️🔠🔡🔢🔤]
Мы хотим избавиться от первого и последнего вагонов нашего поезда:
string.slice(1, -1);
И вуаля — перед нами укороченная версия:
Мини-поезд: [🔢🅰️🔠🔡🔢]
Таким образом, мы избавились от лишнего "багажа" (первого и последнего символов)!
Обзор альтернатив
В JavaScript существует метод trim
, он не удаляет конкретные символы, но вполне эффективно избавляется от пробельных символов с обоих концов строки:
let str = " Немного пространства вокруг ";
let whitespaceTrimmed = str.trim(); // trim работает как старательный садовник, обрезающий лишние побеги.
Разные задачи требуют разных методов – учитывайте контекст!
Полезные материалы
- String.prototype.slice() – JavaScript | MDN — Подробный обзор метода
slice
в JavaScript. - JavaScript String substr() Method — Объяснение использования метода
substr
, теперь больше предназначенного для исследователей истории. - Строки — Подробное руководство по работе со строками в JavaScript.
- Medium Article: JavaScript String Slice, Substring, and Substr Comparison — Объяснение различий между slice, substring и substr.
- Coderbyte | Технические оценки и интервью — Практические уроки с примерами кода и их расшифровкой.
- 20 методов работы со строками за 7 минут – Beau учит JavaScript – YouTube — Обзорная видеолекция о строках в JavaScript.