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 в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.