Замена части строки в JavaScript

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

let message = 'Я изучаю HTML';
let result = message.replace('HTML', 'JavaScript');

console.log(result);

Результат:

Я изучаю JavaScript

Метод replace() нашел фрагмент ‘HTML’ и заменил его на ‘JavaScript’.

Что значит заменить часть строки

Заменить часть строки - значит найти в строке один текст и поставить на его место другой текст.

let text = 'Привет, Иван';

console.log(text.replace('Иван', 'Анна'));

Результат:

Привет, Анна

Если нужный фрагмент не найден, строка вернется без изменений.

let text = 'Привет, Иван';

console.log(text.replace('Олег', 'Анна'));

Результат:

Привет, Иван

Метод replace()

replace() заменяет первое найденное совпадение.

string.replace(searchValue, newValue);

searchValue - что ищем, newValue - на что заменяем.

let text = 'кот и кот';

console.log(text.replace('кот', 'пес'));

Результат:

пес и кот

В строке было два слова ‘кот’, но заменилось только первое.

Метод replaceAll()

replaceAll() заменяет все найденные совпадения.

let text = 'кот и кот';

console.log(text.replaceAll('кот', 'пес'));

Результат:

пес и пес

Этот метод удобно использовать, когда нужно заменить фрагмент в нескольких местах строки.

let phone = '+7 (999) 123-45-67';

console.log(phone.replaceAll('-', ''));

Результат:

+7 (999) 1234567

Замена на пустую строку

Если заменить фрагмент на пустую строку, он просто исчезнет из результата.

let text = 'JavaScript!';

console.log(text.replace('!', ''));

Результат:

JavaScript

Так можно убирать символы или небольшие части строки.

Строка не меняется

replace() и replaceAll() не изменяют исходную строку. Они возвращают новую строку.

let text = 'Я изучаю HTML';

text.replace('HTML', 'JavaScript');

console.log(text);

Результат:

Я изучаю HTML

Если результат нужен дальше, его нужно сохранить в переменную.

let text = 'Я изучаю HTML';
let result = text.replace('HTML', 'JavaScript');

console.log(result);

Результат:

Я изучаю JavaScript

Итого

Для замены части строки используют методы replace() и replaceAll().

  • replace() заменяет первое найденное совпадение.
  • replaceAll() заменяет все найденные совпадения.
  • Если фрагмент не найден, строка вернется без изменений.
  • Замена на пустую строку удаляет найденный фрагмент из результата.
  • Исходная строка не меняется.