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 | 178 +++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 files/pt-br/web/javascript/reference/global_objects/string/replaceall/index.html (limited to 'files/pt-br/web/javascript/reference/global_objects/string/replaceall/index.html') diff --git a/files/pt-br/web/javascript/reference/global_objects/string/replaceall/index.html b/files/pt-br/web/javascript/reference/global_objects/string/replaceall/index.html new file mode 100644 index 0000000000..c545573689 --- /dev/null +++ b/files/pt-br/web/javascript/reference/global_objects/string/replaceall/index.html @@ -0,0 +1,178 @@ +--- +title: String.prototype.replaceAll() +slug: Web/JavaScript/Reference/Global_Objects/String/replaceAll +tags: + - Expressão Regular + - JavaScript + - Prototipo + - Referencia + - String + - metodo + - regex + - replaceAll() +translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll +--- +
{{JSRef}}
+ +
Nota: A partir de Agosto de 2020, o método replaceAll() continuará sendo suportado pelo Firefox, mas não pelo Chrome. Ele estará disponível somente no Chrome 85.
+ +

O método replaceAll() retorna uma nova string com todas as ocorrências de um padrão substituídas por uma substituição. O padrão pode ser uma string ou uma {{jsxref ("RegExp")}}, e a substituição pode ser uma string ou uma função a ser chamada para cada ocorrência.
+
+ A string original é mantida sem modificação.

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

Sintaxe

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

Nota: quando usar uma `regexp`, você deve colocar o sinalizador (flag) global "g". Do contrário, será retornado um TypeError: "replaceAll must be called with a global RegExp".

+
+ +

Parâmetros

+ +
+
regexp (padrão)
+
Uma {{jsxref ("RegExp")}} ou literal com o sinalizador (flag) global. As ocorrências serão substituídas por newSubstr ou pelo valor retornado da function (função) especificada.
+
substr (padrão)
+
Uma {{jsxref ("String")}} que deve ser substituída por newSubstr. É tratada como uma string literal e não é interpretada como uma expressão regular (RegExp).
+
newSubstr (substituição)
+
É a {{jsxref("String")}} que substitui a substring especificada pelo parâmetro regexp ou substr. Um número de padrões especiais para substituição são suportados; veja a seção "Especificando uma string como parâmetro" abaixo.
+
function (substituição)
+
Uma função a ser chamada retornando a nova substring a ser usada para substituir as correspondências para a dada regexp ou substr. Os argumentos passados para esta função são descritos na seção "Especificando uma função como parâmetro" abaixo.
+
+ +

Valor de retorno

+ +

Um nova string, com todas as ocorrências de um padrão substituído por uma substituição.

+ +

Descrição

+ +

Este método não muda o objeto {{jsxref("String")}} original. Ele simplesmente retorna uma nova string.

+ +

Especificando uma string como parâmetro

+ +

A string de substituição pode incluir os seguimentos padrões especiais de substituição:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PadrãoInsere
$$Insere um "$".
$&Insere a substring correspondente.
$`Insere a porção da string que precede a substring correspondente.
$'Insere a porção da string que sucede a substring correspondente.
$nOnde n é um inteiro positivo menor que 100, insere a n-ésima string submatch entre parênteses, desde que o primeiro argumento seja um objeto {{jsxref("RegExp")}}. Note que isso é indexado começando pelo 1.
+ +

Especificando uma função como parâmetro

+ +

Você pode especificar uma função como segundo parâmetro. Neste caso, a função será chamada depois da ocorrência ter sido encontrada. O resultado da função (valor de retorno) será usado como uma string para substituição. (Nota: Os padrões especiais mencionados acima não se aplicam neste caso.)

+ +

Note que a função será chamada múltiplas vezes para cada ocorrência a ser substituída se a expressão regular no primeiro parâmetro for global "g".

+ +

Os argumentos para funções são os seguintes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Nome possívelValor fornecido
matchA substring correspondida. (Corresponde ao $& acima.)
p1, p2, ...A n-ésima string encontrada por um grupo de captura entre parênteses, desde que o primeiro argumento para replace() seja uma {{jsxref("RegExp")}}. (Corresponde a $1, $2, etc. acima.) Por exemplo, se /(\a+)(\b+)/, foi dado, p1 é a correspondência para \a+, e p2 para \b+.
offsetO deslocamento da substring correspondente em toda a string sendo examinada. (Por exemplo, se toda a string for 'abcd' e a substring correspondente for 'bc', este argumento será 1.)
stringA string inteira será examinada.
+ +

(O número exato de argumentos depende se o primeiro argumento é um objeto {{jsxref("RegExp")}} — e, se então, quantas subcorrespondências entre parênteses são especificadas.)

+ +

Exemplos

+ +

Usando replaceAll()

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

RegExp sem flag "g" retorando erro

+ +

Ao usar uma expressão regular para realizar uma pesquisa, a mesma deve conter a flag global "g". O código abaixo não irá funcionar:

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

Já o código abaixo vai funcionar:

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

Especificações

+ + + + + + + + + + + + +
Especificação
{{SpecName('ESDraft', '#sec-string.prototype.replaceall', 'String.prototype.replaceAll')}}
+ + + + + +

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

+ +

Veja também

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