Resumo : neste tutorial, você aprenderá sobre o replaceAll()
método String que substitui todas as ocorrências de uma substring por uma nova string.
Introdução ao replaceAll()
método de string JavaScript
O método String replace()
permite substituir a primeira ocorrência de uma substring em uma string por uma nova.
Para substituir todas as ocorrências de uma substring por uma nova, você pode chamar o replace()
método repetidamente ou usar uma expressão regular com um sinalizador global ( g
).
ES2021 introduziu o método String replaceAll()
que retorna uma nova string com todas as correspondências de um padrão substituídas por uma substituição:
String.prototype.replaceAll(pattern, replacement)
Linguagem de código: CSS ( css )
Pode pattern
ser uma string ou uma expressão regular . Quando pattern
for uma expressão regular, ela precisa incluir o sinalizador global ( g
); caso contrário, replaceAll()
lançará uma exceção.
A suposição é que você cometeu um erro e deveria ter usado o replace()
método para substituir a primeira ocorrência que corresponde apenas ao padrão.
O replacement
argumento pode ser uma string ou uma função de retorno de chamada que será invocada para cada correspondência.
Quando replacement
é uma função de retorno de chamada, ela tem o seguinte formato:
replacement(match, offset, str)
O replacement
retorno de chamada tem os seguintes argumentos:
match
é a substring correspondente.offset
é o deslocamento da substring correspondente na string original. Por exemplo, se a string original for'Hello'
e a substring correspondente for'll'
, entãooffset
será 2.str
é a sequência original.
Assim como o replace()
método, o replaceAll()
método não altera a string original. Ele retorna a nova string completamente nova com o padrão substituído pela substituição.
Exemplos de string JavaScript replaceAll()
Vejamos alguns exemplos de uso do replaceAll()
método JavaScript String.
1) Exemplo simples de JavaScriptString replaceAll()
O exemplo a seguir usa o replaceAll()
método String para substituir a string JS
pela string JavaScript
na string ‘ JS will, JS will, JS will rock you'
:
let str = 'JS will, JS will, JS will rock you.';
let newStr = str.replaceAll('JS','JavaScript');
console.log(newStr);
Linguagem de código: JavaScript ( javascript )
Saída:
JavaScript will, JavaScript will, JavaScript will rock you.
2) JavaScript String replaceAll() com um exemplo de função de retorno de chamada
O exemplo a seguir usa o método String replaceAll()
para procurar uma substring por uma expressão regular. Ele substitui cada correspondência por uma substituição específica determinada por uma função de retorno de chamada:
let str = 'JS will, Js will, js will rock you.';
let pattern = /js/gi;
str.replaceAll(pattern, function(match, offset, str) {
if(match === 'JS') return 'JavaScript';
if(match === 'Js') return 'Javascript';
if(match === 'js') return 'javascript';
return '';
});
console.log(newStr);
Linguagem de código: JavaScript ( javascript )
Saída:
JavaScript will, Javascript will, javascript will rock you.
Como funciona.
A expressão regular /js/gi
corresponde a qualquer string que contenha a substring JS
sem distinção entre maiúsculas e minúsculas, ou seja, JS
, Js
, ou js
.
O replaceAll()
método substitui a substring JS
, Js
e js
pelo valor retornado do retorno de chamada de substituição.
Resumo
- Use o
replaceAll()
método de string JavaScript para substituir todas as ocorrências de uma substring por uma nova em uma string.