aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/string/replaceall/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
commit218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch)
treea9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/uk/web/javascript/reference/global_objects/string/replaceall/index.html
parent074785cea106179cb3305637055ab0a009ca74f2 (diff)
downloadtranslated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip
initial commit
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/string/replaceall/index.html')
-rw-r--r--files/uk/web/javascript/reference/global_objects/string/replaceall/index.html169
1 files changed, 169 insertions, 0 deletions
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
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">Метод <strong><code>replaceAll()</code></strong> повертає новий рядок, в якому усі збіги з шаблоном замінені вказаним параметром заміни.</span> Шаблон може бути рядком або {{jsxref("RegExp","регулярним виразом")}}, а заміна може бути рядком або функцією, що викликатиметься для кожного збігу.</p>
+
+<p>Початковий рядок лишається незміненим.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/string-replaceall.html")}}</div>
+
+
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate">const newStr = <var>str</var>.replaceAll(<var>regexp</var>|<var>substr</var>, <var>newSubstr</var>|<var>function</var>)</pre>
+
+<h3 id="Параметри">Параметри</h3>
+
+<dl>
+ <dt><code><var>regexp</var></code> (шаблон)</dt>
+ <dd>Об'єкт або літерал {{jsxref("RegExp","регулярного виразу")}} з глобальним прапором. Збіги замінюються на <code><var>newSubstr</var></code> або значення, яке повертає вказана функція <code><var>function</var></code>. Регулярний вираз без глобального ("g") прапора викине помилку <code>TypeError</code>: "replaceAll must be called with a global RegExp".</dd>
+ <dt><code><var>substr</var></code></dt>
+ <dd>{{jsxref("String", "Рядок")}}, який потрібно замінити на <code><var>newSubstr</var></code>. Він вважається звичайним рядком та <em>не</em> інтерпретується як регулярний вираз.</dd>
+ <dt><code><var>newSubstr</var></code> (заміна)</dt>
+ <dd>{{jsxref("String","Рядок")}}, який замінює підрядок, вказаний параметром <code><var>regexp</var></code> або <code><var>substr</var></code>. Підтримується ряд спеціальних шаблонів заміни; дивіться нижче розділ "<a href="#Використання_рядка_в_якості_параметра">Використання рядка в якості параметра</a>".</dd>
+ <dt><code><var>function</var></code> (заміна)</dt>
+ <dd>Функція, що буде викликана для створення нового підрядка, який замінить збіги з наданим параметром <code><var>regexp</var></code> або <code><var>substr</var></code>. Аргументи, що передаються в цю функцію, описані нижче в розділі "<a href="#Використання_функції_в_якості_параметра">Використання функції в якості параметра</a>".</dd>
+</dl>
+
+<h3 id="Значення_що_повертається">Значення, що повертається</h3>
+
+<p>Новий рядок, в якому усі збіги з шаблоном замінені.</p>
+
+<h2 id="Опис">Опис</h2>
+
+<p>Цей метод не змінює об'єкт {{jsxref("String")}}, що його викликав. Він просто повертає новий рядок.</p>
+
+<h3 id="Використання_рядка_в_якості_параметра">Використання рядка в якості параметра</h3>
+
+<p>Рядок заміни може містити наступні спеціальні шаблони заміни:</p>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th class="header" scope="col">Шаблон</th>
+ <th class="header" scope="col">Вставляє</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>$$</code></td>
+ <td>Вставляє <code>"$"</code>.</td>
+ </tr>
+ <tr>
+ <td><code>$&amp;</code></td>
+ <td>Вставляє знайдений підрядок.</td>
+ </tr>
+ <tr>
+ <td><code>$`</code></td>
+ <td>Вставляє частину рядка, що передує знайденому підрядку.</td>
+ </tr>
+ <tr>
+ <td><code>$'</code></td>
+ <td>Вставляє частину рядка, що розташована за знайденим підрядком.</td>
+ </tr>
+ <tr>
+ <td><code>$<var>n</var></code></td>
+ <td>Де <code><var>n</var></code> є додатним цілим числом, меншим за 100, вставляє <code><var>n</var></code>-й підрядок збігів у дужках, за умови, що першим аргументом був об'єкт {{jsxref("RegExp")}}. Зауважте, що вони індексуються з <code>1</code>.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Використання_функції_в_якості_параметра">Використання функції в якості параметра</h3>
+
+<p>Ви можете вказати функцію в якості другого параметра. У цьому випадку функція буде викликана після знайдення збігу. Результат функції (повернене значення) буде використаний в якості рядка заміни. (<strong>Заувага:</strong> Вищезазначені спеціальні шаблони заміни <em>не</em> застосовуються у цьому випадку.)</p>
+
+<p>Зауважте, що функція буде викликатись багаторазово, для кожного повного збігу, що буде замінений, якщо регулярний вираз у першому параметрі є глобальним.</p>
+
+<p>Функція має наступні аргументи:</p>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th class="header" scope="col">Можливе ім'я</th>
+ <th class="header" scope="col">Надане значення</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>match</code></td>
+ <td>Знайдений підрядок. (Відповідає вищенаведеному <code>$&amp;</code>)</td>
+ </tr>
+ <tr>
+ <td><code>p1, p2, ...</code></td>
+ <td><var>n</var>-й рядок, знайдений захопленою групою у дужках, за умови, що першим аргументом методу <code>replace()</code> був об'єкт {{jsxref("RegExp")}}. (Відповідає вищенаведеним <code>$1</code>, <code>$2</code> і т.д.) Наприклад, якщо був наданий аргумент <code>/(\a+)(\b+)/</code>, то <code>p1</code> є збігом з <code>\a+</code>, а <code>p2</code> - збігом з <code>\b+</code>.</td>
+ </tr>
+ <tr>
+ <td><code>offset</code></td>
+ <td>Зсув знайденого підрядка всередині рядка, що перевіряється. (Наприклад, якби цілим рядком був <code>'абвг'</code>, а знайденим підрядком <code>'бв'</code>, то цей аргумент дорівнював би <code>1</code>.)</td>
+ </tr>
+ <tr>
+ <td><code>string</code></td>
+ <td>Весь рядок, що перевіряється.</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>(Точна кількість аргументів залежить від того, чи є перший аргумент об'єктом {{jsxref("RegExp")}} і, якщо є, то скільки збігів, заключених у дужки, він визначає.)</p>
+
+<h2 id="Приклади">Приклади</h2>
+
+<h3 id="Використання_replaceAll">Використання replaceAll</h3>
+
+<pre class="brush: js notranslate">'ааббвв'.replaceAll('б', '.');
+// 'аа..вв'</pre>
+
+<h3 id="Неглобальний_регулярний_вираз_викидає_виняток">Неглобальний регулярний вираз викидає виняток</h3>
+
+<p>Якщо використовується регулярний вираз в якості значення пошуку, він повинен бути глобальним. Це не працюватиме:</p>
+
+<pre class="brush: js; example-bad notranslate">'ааббвв'.replaceAll(/б/, '.');
+TypeError: replaceAll must be called with a global RegExp
+</pre>
+
+<p>Так працюватиме:</p>
+
+<pre class="brush: js; example-good notranslate">'ааббвв'.replaceAll(/б/g, '.');
+"аа..вв"
+</pre>
+
+<h2 id="Специфікації">Специфікації</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Специфікація</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-string.prototype.replaceall', 'String.prototype.replaceAll')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("javascript.builtins.String.replaceAll")}}</p>
+
+<h2 id="Див._також">Див. також</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.replace", "String.prototype.replace()")}}</li>
+ <li>{{jsxref("String.prototype.match", "String.prototype.match()")}}</li>
+ <li>{{jsxref("RegExp.prototype.exec", "RegExp.prototype.exec()")}}</li>
+ <li>{{jsxref("RegExp.prototype.test", "RegExp.prototype.test()")}}</li>
+</ul>