Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. String
  6. String.prototype.replaceAll()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

String.prototype.replaceAll()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨август 2020 г.⁩.

МетодreplaceAll() возвращает новую строку со всеми совпадениямиpattern , который меняется наreplacement.pattern может быть строкой или регулярным выражением, иreplacement может быть строкой или функция возвращающая каждое совпадение.

Исходная строка остаётся без изменений.

Интерактивный пример

const paragraph = "I think Ruth's dog is cuter than your dog!";console.log(paragraph.replaceAll("dog", "monkey"));// Expected output: "I think Ruth's monkey is cuter than your monkey!"// Global flag required when calling replaceAll with regexconst regex = /Dog/gi;console.log(paragraph.replaceAll(regex, "ferret"));// Expected output: "I think Ruth's ferret is cuter than your ferret!"

Syntax

const newStr = str.replaceAll(regexp|substr, newSubstr|function)

Примечание:Когда вы используетеregexp вы должны установить флаг глобального поиска ("g"), иначе вернётся ошибкаTypeError: "replaceAll must be called with a global RegExp".

Parameters

regexp (pattern)

Регулярное выражение или буква с глобальным флагом поиска ("g"). Совпадения меняются наnewSubstr или значении возвращённое указанной функциейfunction. A RegExp без глобального флага поиска ("g") вернёт ошибкуTypeError: "replaceAll must be called with a global RegExp".

substr

Подстрока, которая заменитсяnewSubstr. Обрабатывается как буквенная строка, не интерпретируется как регулярное выражение.

newSubstr (replacement)

Новая строка, которая заменяет найденные подстроки указанные вregexp илиsubstr параметрах. Поддерживается ряд специальных шаблонов замены; смотрите "Specifying a string as a parameter" блок ниже.

function (replacement)

Функция вызванная при создании новой строки которая используется для замены совпадений указанных вregexp orsubstr. Аргументы применяемы в этой функции описываются в "Specifying a function as a parameter" блок ниже.

Return value

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

Описание

Этот метод не изменяет исходную строку. Он просто возвращает новую.

Указание строки в качестве параметра

Заменённая строка может включатся в следующие специальные шаблоны:

PatternInserts
$$Вставляет"$".
$&Вставлять совпадения.
$`Вставляет часть строки которая находится перед совпадениями (строка соответствующая шаблону).
$'Вставляет часть строки которая следует после совпадения (строка соответствующая шаблону).
$nГдеn положительное цело число меньше чем 100, вставляетnth строки указанные в скобках, частичные совпадения, при условии, что первый аргумент былRegExp object. Обратите внимание, что это 1-индексированный.

Указание функции в качестве параметра

Вы можете передать функцию вторым параметром. Этом случае, функция вызывается после нахождения совпадений. Результат функции может быть использована как замещающая строка. (Внимание: Выше упомянутые специальные шаблоны замены в данном случае неприменимы.)

Функция может быть вызвана многократно для каждого заменённого совпадения, если регулярное выражение указано с глобальным флагом("g").

Функция имеет следующие аргументы:

Possible nameSupplied value
matchНайденная постройка. (Соответствует$& указанному выше)
p1, p2, ..._n_th количество строк найденных групповыми скобками указанные первым параметром в регулярном выражении. (Соответствует$1,$2, см. выше) Для примера, если/(\a+)(\b+)/, тоp1 это\a+, аp2 это\b+.
offsetСмещение совпадающей подстроки в пределах всей исследуемой строки. (Например, если вся строка была 'abcd', а соответствующая подстрока была 'bc', то этот аргумент будет равен 1.)
stringИсследуется вся цепочка.

(Точное количество аргументов зависит от того, является ли первый аргумент регулярным выражением — и, если да, то аргументов будет столько сколько указанно в скобках.)

Examples

Using replaceAll

js
"aabbcc".replaceAll("b", ".");// 'aa..cc'

Non-global regex throws

Поиск с регулярными выражениями должен быть с ("g"). Это не работает:

js
'aabbcc'.replaceAll(/b/, '.');TypeError: replaceAll must be called with a global RegExp

Это работает:

js
"aabbcc".replaceAll(/b/g, ".");("aa..cc");

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.replaceall

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp