O método JavaScript replaceAll () retorna uma nova string com todas as correspondências de um padrão substituídas por uma substituição.
A sintaxe de replaceAll()
é:
str.replaceAll(pattern, replacement)
Aqui str
está uma corda.
Parâmetro replaceAll ()
O replaceAll()
método inclui:
pattern
- uma substring ou regex que deve ser substituídareplacement
- opattern
é substituído por estereplacement
(pode ser uma string ou uma função)
Valor de retorno de replaceAll ()
- O
replaceAll()
método retorna uma nova string, com todas as correspondências de um padrão substituídas por uma substituição.
Nota: A RegExp
sem o sinalizador global (" g ") lançará a TypeError
.
Exemplo 1: usando replaceAll ()
const text = "Java is awesome. Java is fun."; // passing a string as the first parameter let pattern = "Java"; let new_text = text.replaceAll(pattern, "JavaScript"); console.log(new_text); // passing a regex as the first parameter pattern = /Java/g; new_text = text.replaceAll(pattern, "JavaScript"); console.log(new_text);
Resultado
JavaScript é incrível. JavaScript é divertido JavaScript é incrível. JavaScript é divertido.
Substitua sem considerar maiúsculas / minúsculas
O replaceAll()
método diferencia maiúsculas de minúsculas. Para realizar a substituição que não diferencia maiúsculas de minúsculas, você precisa usar um regex com uma i
chave (pesquisa que não diferencia maiúsculas de minúsculas).
Exemplo 2: Substituição que não diferencia maiúsculas de minúsculas
const text = "javaSCRIPT JavaScript"; // all occurrences of javascript is replaced let pattern = /javascript/gi; // case-insensitive and global search let new_text = text.replaceAll(pattern, "JS"); console.log(new_text); // JS JS
Resultado
JS JS
Exemplo 3: Função de passagem como substituição
Você também pode passar uma função (em vez de uma string) como o segundo parâmetro do replaceAll()
método.
const text = "3.1415"; // generate a random digit between 0 and 9 function generateRandomDigit() ( return Math.floor(Math.random() * 10); ) // regex to match a digit const pattern = /d/g; const new_text = text.replaceAll(pattern, generateRandomDigit); console.log(new_text);
Resultado
4.3518
Você pode obter resultados diferentes ao executar este programa. É porque o primeiro dígito no texto é substituído por um dígito aleatório entre 0 e 9 .
Leitura recomendada: string JavaScript replace ()