ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Удаление подстроки из строки в JavaScript: с примером "data-"

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для удаления части текста из строки можно использовать метод .replace():

JS
Скопировать код
let result = "Hello World!".replace("World", "");

Таким образом, в переменной result окажется строка "Hello !". Прощай, "World"!

Если требуется удалить все вхождения подстроки, используйте глобальный флаг /g в регулярных выражениях:

JS
Скопировать код
let catchyPhrase = "apple banana apple";
let result = catchyPhrase.replace(/apple/g, "");

Теперь result содержит лишь " banana ": все «apple» удалены.

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Удаление текста с точностью хирурга

Регулярные выражения отлично подходят для работы со специфическими шаблонами. Если требуется извлечь из строки только числовые значения:

JS
Скопировать код
let cost = "Cost: $25.99";
let cleanCost = cost.replace(/[^0-9\.]+/g, "");

После выполнения этих действий в переменной cleanCost окажется значение "25.99". Это регулярное выражение сохраняет только числа и точку, исключая все остальное.

Раскрывая магию регулярных выражений

Иногда для решения уникальных задач требуется все мастерство работы с регулярными выражениями. Создавайте свои регулярные выражения так, чтобы они выполняли именно те функции, с которыми вы столкнулись:

JS
Скопировать код
let mazePath = "/user/profile/data/";
let cleanPath = mazePath.replace(/\/data\/$/, ""); // Удаляем '/data/' из конца пути

В результате cleanPath теперь — это "/user/profile", а '/data/' исчезло.

Предостережение

Важно всегда помнить и проверять возвращаемый результат метода .replace(). В JavaScript строки неизменны: функция не изменяет исходную строку. Пример:

JS
Скопировать код
let original = "immutable";
let modified = original.replace("imm", "");

// 'original' остаётся без изменений "immutable"
// а 'modified' преобразуется в "utable"

Проверяйте, что итоговый результат соответствует вашим ожиданиям. Ошибка в регулярном выражении может привести к совершенно другим результатам.

Визуализация

Для удаления ненужных элементов из строки мы используем метод как фильтр:

JS
Скопировать код
let artwork = "Hello World"; // 🖼️ + "Hello"
artwork = artwork.replace("Hello", ""); // 🎨: " World"

Итоговое изображение выглядит аккуратно и чисто:

До: "Hello World" 🖼️ + "Hello" После: " World" 🎨

Чистка — это искусство, выполненное всего одной строкой кода!

Учтем нюансы использования

Подходите с осторожностью к использованию .replace(), особенно при работе со специальными символами, которые требуется экранировать. Символы типа . или * в регулярных выражениях имеют специальное значение:

JS
Скопировать код
let command = "Seek and replace dots...";
let sanitizedCmd = command.replace(/\./g, "");

// sanitizedCmd преобразуется в "Seek and replace dots", все точки удаляются

С обычным текстом обращаться проще:

JS
Скопировать код
let noisyTweet = "Hello #World!";
let peacefulTweet = noisyTweet.replace("#World", "");

// peacefulTweet звучит теперь как "Hello !"

Для получения определённой части строки используйте метод slice():

JS
Скопировать код
let declaration = "Astounding result!";
let fact = declaration.slice(0, -8);

// fact гордо заявляет "Astounding"

В изучении возможностей и тонкостей метода .replace() помогут вам различные онлайн-инструменты, такие как генераторы песочниц и тестов.

Осваиваем альтернативы '.replace()'

Иногда метод replace() может оказаться не самым удобным, и тогда на помощь приходят функции, написанные вручную:

JS
Скопировать код
function removeText(input, toRemove) {
  return input.split(toRemove).join("");
}

let scrollMessage = "remove-remove-";
let cleanedMsg = removeText(scrollMessage, "remove-");

// cleanedMsg – это "", 'remove-' исчезли!

Эта функция решительно избавляется от подстроки toRemove с помощью метода разделения и последующего соединения.

Полезные материалы

  1. String.prototype.replace() – JavaScript | MDN — незаменимое пособие по использованию replace() для работы со строками.
  2. Как заменить все вхождения строки в JavaScript? – Stack Overflow — ценный источник знаний и опыта.
  3. Метод String replace() – W3Schools — практическое руководство по манипуляциям со строками.
  4. Строки – JavaScript.info — глубокий анализ строк и их возможностей в JavaScript.
  5. Регулярные выражения – JavaScript | MDN — подробное рассмотрение темы регулярных выражений для продвинутых техник работы со строками.