From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../global_objects/string/replaceall/index.html | 167 +++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 files/ru/web/javascript/reference/global_objects/string/replaceall/index.html (limited to 'files/ru/web/javascript/reference/global_objects/string/replaceall') diff --git a/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html new file mode 100644 index 0000000000..f938fefb64 --- /dev/null +++ b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html @@ -0,0 +1,167 @@ +--- +title: String.prototype.replaceAll() +slug: Web/JavaScript/Reference/Global_Objects/String/replaceAll +translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll +--- +
{{JSRef}}
+ +

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

+ +

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

+ +
{{EmbedInteractiveExample("pages/js/string-replaceall.html")}}
+ + + +

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 or substr. Аргументы применяемы в этой функции описываются в "Specifying a function as a parameter" блок ниже.
+
+ +

Return value

+ +

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

+ +

Описание

+ +

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

+ +

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

+ +

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

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

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

+ +

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

+ +

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

+ +

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

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

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

+ +

Examples

+ +

Using replaceAll

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

Non-global regex throws

+ +

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

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

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

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

Specifications

+ + + + + + + + + + + + +
Specification
{{SpecName('ESDraft', '#sec-string.prototype.replaceall', 'String.prototype.replaceAll')}}
+ +

Browser compatibility

+ + + +

{{Compat("javascript.builtins.String.replaceAll")}}

+ +

See also

+ + -- cgit v1.2.3-54-g00ecf