From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../global_objects/string/replaceall/index.html | 169 +++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 files/uk/web/javascript/reference/global_objects/string/replaceall/index.html (limited to 'files/uk/web/javascript/reference/global_objects/string/replaceall') diff --git a/files/uk/web/javascript/reference/global_objects/string/replaceall/index.html b/files/uk/web/javascript/reference/global_objects/string/replaceall/index.html new file mode 100644 index 0000000000..ac59dbc1af --- /dev/null +++ b/files/uk/web/javascript/reference/global_objects/string/replaceall/index.html @@ -0,0 +1,169 @@ +--- +title: String.prototype.replaceAll() +slug: Web/JavaScript/Reference/Global_Objects/String/replaceAll +tags: + - JavaScript + - String + - regex + - Регулярний вираз + - метод + - рядок +translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll +--- +
{{JSRef}}
+ +

Метод replaceAll() повертає новий рядок, в якому усі збіги з шаблоном замінені вказаним параметром заміни. Шаблон може бути рядком або {{jsxref("RegExp","регулярним виразом")}}, а заміна може бути рядком або функцією, що викликатиметься для кожного збігу.

+ +

Початковий рядок лишається незміненим.

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

Синтаксис

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

Параметри

+ +
+
regexp (шаблон)
+
Об'єкт або літерал {{jsxref("RegExp","регулярного виразу")}} з глобальним прапором. Збіги замінюються на newSubstr або значення, яке повертає вказана функція function. Регулярний вираз без глобального ("g") прапора викине помилку TypeError: "replaceAll must be called with a global RegExp".
+
substr
+
{{jsxref("String", "Рядок")}}, який потрібно замінити на newSubstr. Він вважається звичайним рядком та не інтерпретується як регулярний вираз.
+
newSubstr (заміна)
+
{{jsxref("String","Рядок")}}, який замінює підрядок, вказаний параметром regexp або substr. Підтримується ряд спеціальних шаблонів заміни; дивіться нижче розділ "Використання рядка в якості параметра".
+
function (заміна)
+
Функція, що буде викликана для створення нового підрядка, який замінить збіги з наданим параметром regexp або substr. Аргументи, що передаються в цю функцію, описані нижче в розділі "Використання функції в якості параметра".
+
+ +

Значення, що повертається

+ +

Новий рядок, в якому усі збіги з шаблоном замінені.

+ +

Опис

+ +

Цей метод не змінює об'єкт {{jsxref("String")}}, що його викликав. Він просто повертає новий рядок.

+ +

Використання рядка в якості параметра

+ +

Рядок заміни може містити наступні спеціальні шаблони заміни:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ШаблонВставляє
$$Вставляє "$".
$&Вставляє знайдений підрядок.
$`Вставляє частину рядка, що передує знайденому підрядку.
$'Вставляє частину рядка, що розташована за знайденим підрядком.
$nДе n є додатним цілим числом, меншим за 100, вставляє n-й підрядок збігів у дужках, за умови, що першим аргументом був об'єкт {{jsxref("RegExp")}}. Зауважте, що вони індексуються з 1.
+ +

Використання функції в якості параметра

+ +

Ви можете вказати функцію в якості другого параметра. У цьому випадку функція буде викликана після знайдення збігу. Результат функції (повернене значення) буде використаний в якості рядка заміни. (Заувага: Вищезазначені спеціальні шаблони заміни не застосовуються у цьому випадку.)

+ +

Зауважте, що функція буде викликатись багаторазово, для кожного повного збігу, що буде замінений, якщо регулярний вираз у першому параметрі є глобальним.

+ +

Функція має наступні аргументи:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Можливе ім'яНадане значення
matchЗнайдений підрядок. (Відповідає вищенаведеному $&)
p1, p2, ...n-й рядок, знайдений захопленою групою у дужках, за умови, що першим аргументом методу replace() був об'єкт {{jsxref("RegExp")}}. (Відповідає вищенаведеним $1, $2 і т.д.) Наприклад, якщо був наданий аргумент /(\a+)(\b+)/, то p1 є збігом з \a+, а p2 - збігом з \b+.
offsetЗсув знайденого підрядка всередині рядка, що перевіряється. (Наприклад, якби цілим рядком був 'абвг', а знайденим підрядком 'бв', то цей аргумент дорівнював би 1.)
stringВесь рядок, що перевіряється.
+ +

(Точна кількість аргументів залежить від того, чи є перший аргумент об'єктом {{jsxref("RegExp")}} і, якщо є, то скільки збігів, заключених у дужки, він визначає.)

+ +

Приклади

+ +

Використання replaceAll

+ +
'ааббвв'.replaceAll('б', '.');
+// 'аа..вв'
+ +

Неглобальний регулярний вираз викидає виняток

+ +

Якщо використовується регулярний вираз в якості значення пошуку, він повинен бути глобальним. Це не працюватиме:

+ +
'ааббвв'.replaceAll(/б/, '.');
+TypeError: replaceAll must be called with a global RegExp
+
+ +

Так працюватиме:

+ +
'ааббвв'.replaceAll(/б/g, '.');
+"аа..вв"
+
+ +

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

+ + + + + + + + + + + + +
Специфікація
{{SpecName('ESDraft', '#sec-string.prototype.replaceall', 'String.prototype.replaceAll')}}
+ +

Сумісність з веб-переглядачами

+ + + +

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

+ +

Див. також

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