JavaScript
Как удалить слово или символ из строки в JavaScript
Чтобы удалить фрагмент из строки в JavaScript, используйте replace, replaceAll или регулярное выражение. Строки в JavaScript неизменяемые: метод не меняет исходную строку, а возвращает новую. Поэтому результат нужно сохранить в переменную
Пример:
const text = "hello JavaScript";
const result = text.replace("JavaScript", "");
console.log(result); // hello
Удалить одно вхождение
replace заменяет первое совпадение:
const text = "кот и котенок";
const result = text.replace("кот", "");
console.log(result); // и котенок
Если нужно убрать лишний пробел, можно добавить trim():
const clean = result.trim();
Удалить все вхождения
Если нужно удалить все одинаковые фрагменты, используйте replaceAll:
const text = "JS, HTML, JS, CSS";
const result = text.replaceAll("JS", "");
console.log(result); // , HTML, , CSS
После удаления может понадобиться аккуратно обработать запятые и пробелы. Удаление текста — это часто не одна операция, а чистка результата
Удалить слово из переменной result
Если у вас уже есть переменная result, присвойте ей новое значение:
let result = "Сумма: 1500 рублей";
result = result.replace(" рублей", "");
console.log(result); // Сумма: 1500
Важно: если написать только:
result.replace(" рублей", "");
переменная result не изменится. Метод вернет новую строку, но вы ее никуда не сохраните
Удалить по регулярному выражению
Регулярное выражение удобно, когда нужно удалить разные варианты:
const text = "Цена: 1 500 руб.";
const result = text.replace(/\s?руб\.?/, "");
console.log(result); // Цена: 1 500
Флаг g удаляет все совпадения:
const text = "a-b-c-d";
const result = text.replace(/-/g, "");
console.log(result); // abcd
Удалить только лишние пробелы
Иногда «удалить из строки» означает не убрать слово, а почистить пробелы:
const text = " JavaScript работает ";
const result = text.trim().replace(/\s+/g, " ");
console.log(result); // JavaScript работает
trim() убирает пробелы по краям, а регулярное выражение /\s+/g заменяет несколько пробелов внутри строки на один. Это полезно при обработке имени, адреса, комментария или строки поиска
Удалить часть по позиции
Если известны индексы, можно собрать строку через slice:
const text = "ABC-123";
const result = text.slice(0, 3) + text.slice(4);
console.log(result); // ABC123
Этот способ удобен, когда нужно удалить конкретный символ по позиции, а не искать текст
Практический пример с input
<input id="text" value="Заказ #123">
<button id="button">Удалить #</button>
<p id="result"></p>
<script>
const input = document.querySelector("#text");
const button = document.querySelector("#button");
const result = document.querySelector("#result");
button.addEventListener("click", () => {
result.textContent = input.value.replace("#", "");
});
</script>
Так можно очищать промокоды, телефоны, суммы, технические метки и пользовательский ввод
Частые ошибки
Не сохранить результат
Строка не меняется сама. Нужно присваивание:
text = text.replace("old", "new");
Использовать replace вместо replaceAll
replace("a", "") удалит только первое a. Для всех вхождений используйте replaceAll или регулярное выражение с g
Не учитывать регистр
"JS" и "js" — разные строки. Для нечувствительного поиска используйте регулярное выражение с флагом i
Мини-задание
Создайте строку result = "Телефон: +7 (900) 123-45-67". Удалите пробелы, скобки и дефисы так, чтобы остались только Телефон:+79001234567 или только номер
Что почитать дальше по JavaScript
Если нужен общий маршрут по теме, откройте рубрику JavaScript. Для соседних задач пригодятся эти разборы:
- Учить Джава Скрипт: это как и с чего начать
- JS скрипт: что это и как написать первый script.js
- JS: как взять первые 5 символов строки
- JavaScript: как сравнить первые символы строки