Вебсправочник
Справочник JavaScript

String.replace(): первая замена и регулярное выражение

Метод replace создаёт новую строку, заменяя совпадение по строке или регулярному выражению.

Назначение

Метод replace создаёт новую строку, заменяя совпадение по строке или регулярному выражению.

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

При строковом поиске меняется только первое совпадение. Для регулярного выражения все совпадения требуют флага g. Замена может быть строкой или функцией, вычисляющей результат по найденному фрагменту.

Пример

const text='cat cat';
console.assert(text.replace('cat','dog')==='dog cat');
console.assert(text.replace(/cat/g,'dog')==='dog dog');
console.assert('x'.replace('x',()=>'$&')==='$&');

Что должно получиться

Строковый вариант меняет первое слово, глобальное выражение — оба. Функция замены возвращает буквальные символы $&, а не исходное совпадение.

Граница применения и частая ошибка

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

Самостоятельная проверка

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

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

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.