String.prototype.replace
Заменяет первое совпадение (или все — с флагом g у регулярного выражения).
Доступно с: ES3
Синтаксис
str.replace(pattern, replacement)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| pattern | string | RegExp | Что заменить: строка или регулярное выражение. |
| replacement | string | Function | На что заменить: строка или функция, которая возвращает замену. |
Возвращаемое значение
stringНовая строка с заменой.
Примеры
Строка заменяется только один раз:
console.log('a-b-c'.replace('-', '+'));Результат:
a+b-cРегулярное выражение с флагом g заменяет все совпадения:
console.log('a-b-c'.replace(/-/g, '+'));Результат:
a+b+cФункция вместо строки замены:
const text = 'price: 10, tax: 2';
console.log(text.replace(/\d+/g, (n) => n * 2));Результат:
price: 20, tax: 4Примечания
Исходная строка не меняется. Чтобы заменить все вхождения обычной строки, используйте replaceAll().
В строке замены $1, $2 подставляют группы регулярного выражения, а $& — всё совпадение.
См. также
- String.prototype.replaceAll — Заменяет все вхождения подстроки на другую строку.
- RegExp — Регулярное выражение — шаблон для поиска и замены текста.
- String.prototype.split — Разбивает строку на массив по разделителю.
Вопросы и ответы по теме
В учебнике
- Методы строк — Полезные методы строк в JavaScript: поиск позиции, доступ к символам, padStart, repeat, split и join, цепочки методов.