Метод JavaScript replaceAll () возвращает новую строку, в которой все совпадения с шаблоном заменены заменой.
Синтаксис replaceAll()
:
str.replaceAll(pattern, replacement)
Вот str
строка.
replaceAll () Параметр
replaceAll()
Метод принимает в:
pattern
- либо подстрока, либо регулярное выражение, которое необходимо заменитьreplacement
-pattern
заменяется на этоreplacement
(может быть строкой или функцией)
Возвращаемое значение из replaceAll ()
replaceAll()
Метод возвращает новую строку, со всеми матчами шаблона заменены заменами.
Примечание: A RegExp
без глобального (" g ") флага вызовет a TypeError
.
Пример 1: Использование replaceAll ()
const text = "Java is awesome. Java is fun."; // passing a string as the first parameter let pattern = "Java"; let new_text = text.replaceAll(pattern, "JavaScript"); console.log(new_text); // passing a regex as the first parameter pattern = /Java/g; new_text = text.replaceAll(pattern, "JavaScript"); console.log(new_text);
Вывод
JavaScript - это круто. JavaScript - это весело. JavaScript - это здорово. JavaScript - это весело.
Заменить без учета прописных / строчных букв
В replaceAll()
методе учитывается регистр. Чтобы выполнить замену без учета регистра, вам нужно использовать регулярное выражение с i
переключателем (поиск без учета регистра).
Пример 2: замена без учета регистра
const text = "javaSCRIPT JavaScript"; // all occurrences of javascript is replaced let pattern = /javascript/gi; // case-insensitive and global search let new_text = text.replaceAll(pattern, "JS"); console.log(new_text); // JS JS
Вывод
JS JS
Пример 3: Передача функции в качестве замены
Вы также можете передать функцию (вместо строки) в качестве второго параметра replaceAll()
метода.
const text = "3.1415"; // generate a random digit between 0 and 9 function generateRandomDigit() ( return Math.floor(Math.random() * 10); ) // regex to match a digit const pattern = /d/g; const new_text = text.replaceAll(pattern, generateRandomDigit); console.log(new_text);
Вывод
4,3518
При запуске этой программы вы можете получить другой результат. Это потому, что первая цифра в тексте заменяется случайной цифрой от 0 до 9 .
Рекомендуемая литература: JavaScript String replace ()