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

String.replaceAll(): все совпадения в строке

Метод replaceAll возвращает новую строку с заменой всех совпадений указанного фрагмента.

Назначение

Метод replaceAll возвращает новую строку с заменой всех совпадений указанного фрагмента.

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

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

Пример

console.assert('html-css-js'.replaceAll('-',' ')==='html css js');
console.assert('a.b.c'.replaceAll('.','/')==='a/b/c');
console.assert('a.b.c'==='a.b.c');

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

Все дефисы заменены, а точки обработаны буквально. Метод удобен для простой текстовой операции, но не заменяет разбор HTML, URL или другого структурированного формата.

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

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

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

Замените все дефисы на пробелы, затем проверьте фрагмент с точкой как обычную строку. Убедитесь, что точка не означает любой символ при строковом аргументе.

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

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