JavaScript replace()
Nesta documentação de JavaScript veremos como utilizar o método replace(), que permite substituir uma sequência de caracteres por outra.
Apresentaremos aqui como utilizar o método replace().
JavaScript replace(): Na prática
// Valor retornado: “Curso de PHP na DevMedia!”
exemplo = "Curso de JavaScript na DevMedia!";
resultado = exemplo.replace("JavaScript", "PHP");
// Valor retornado: “Curso de PHP na DevMedia! JavaScript também.”
exemplo = "Curso de JavaScript na DevMedia! JavaScript também.";
resultado = exemplo.replace("JavaScript", "PHP");
// Valor retornado: “Estudando PHP! PHP é uma linguagem dinâmica”
exemplo = "Estudando JavaScript! JavaScript é uma linguagem dinâmica";
resultado = exemplo.replace(/JavaScript/g, "PHP");
// Valor retornado: “Aprendendo JavaScript. JavaScript é na DevMedia”
exemplo = "Aprendendo Javascript. JAVAScript é na DevMedia ";
resultado = exemplo.replace(/javascript/gi, "JavaScript");
// Valor retornado: “texto 1 <i> texto 2 </i> texto 3 <i> texto 4 </i>”
stringExemplo = " texto 1 <b> texto 2 </b> texto 3 <b> texto 4 </b>";
stringExemplo = stringExemplo.replace(/<b>/g , "<i>");
resultado = stringExemplo.replace(/<\/b>/g, "</i>");
// Valor retornado: “Contrato no valor de R$ 1050.
// Lucro de R$ 210 para a empresa.”
string = "Contrato no valor de R$ 1000. Lucro de R$ 200 para a empresa.";
resultado = string.replace(/\d+/g, function aplicarIndice(x){
x = x*1.05;
return Math.floor(x);});
Como funciona o replace()?
O método replace() percorre toda a string em busca da sequência de caracteres a ser substituída. Caso essa sequência de caracteres não seja encontrada, nenhuma substituição é realizada; caso seja encontrada, uma nova string, com a substituição feita, é devolvida pelo método.
Em caso de mais de uma string a ser substituída, replace() substituirá apenas a primeira delas. Caso seja necessário substituir todas, deve-se utilizar uma expressão regular no primeiro parâmetro.
Considerando o seguinte código:
var exemplo = "Aprendendo JavaScript na DevMedia!";
var resultado = exemplo.replace("JavaScript", "PHP");
O valor atribuído à variável
Sintaxe
string.replace(substring|expReg, novaSubstring|funcao)
Parâmetros
substring é a string a ser localizada e que deseja-se substituir.
expReg é uma expressão regular. Ao invés de informar uma substring é possível passar como parâmetro uma expressão regular.
novaSubstring é a string que deve substituir a substring ou os elementos encontrados pela expressão regular (expReg) informada no primeiro parâmetro.
funcao é a função que pode ser executada caso a substring ou a expressão regular seja validada dentro da string com o conteúdo a ser modificado.
Valor de retorno
É retornada a nova string com a substituição feita. Caso não haja substituição a fazer, a string original é retornada.
Exemplos de replace()
Exemplo 1
No exemplo a seguir substituímos um trecho de uma string por outro.
var exemplo = "JavaScript é na DevMedia!";
var resultado = exemplo.replace("JavaScript", "Java");
O valor atribuído a resultado é: “Java é na DevMedia!”
Run!Exemplo 2
No exemplo a seguir demonstramos o que fazer para substituir mais de uma string.
var exemplo = "Aprendendo JavaScript na DevMedia!
JavaScript é a linguagem do momento!!!";
var resultado = exemplo.replace(/JavaScript/g, "PHP");
O valor atribuído a resultado é: “Aprendendo PHP na DevMedia! PHP é a linguagem do momento!!!”.
Ao invés de passar uma string no primeiro parâmetro foi informada uma expressão regular.
Run!Exemplo 3
No exemplo a seguir demonstramos como substituir palavras desconsiderando a diferença entre letras maiúsculas e minúsculas (case-insensitive).
var exemplo = "Substituindo JavaScript, Javascript e javascript por JS";
var resultado = exemplo.replace(/javascript/gi, "JS");
O valor atribuído a resultado é: “Substituindo JS, JS e JS por JS”.
Run!Exemplo 4
No exemplo a seguir demonstramos como formar um CPF sem os caracteres não numéricos para o formato correto.
var cpf = "12345678901";
var resultado = cpf.replace(/(\d{ 3 })(\d{ 3 })(\d{ 3 })(\d{ 2 })/, "$1.$2.$3-$4");
O valor atribuído a resultado é: “123.456.789-01”.
Run!Exemplo 5
No exemplo a seguir demonstramos como substituir as tags <b> em um documento por tags <i>.
var stringExemplo = "texto 1 <b> texto 2 </b> texto 3 <b> texto 4 </b>";
stringExemplo = stringExemplo.replace(/<b>/g , "<i>");
var resultado = stringExemplo.replace(/<\/b>/g, "</i>");
O valor atribuído a resultado é: “texto 1 <i> texto 2 </i> texto 3 <i> texto 4 </i>”.
Run!Exemplo 6
No exemplo a seguir demonstramos como executar uma função para substituir/atualizar um valor presente em uma string.
var string = "Contrato no valor de R$ 1000.
Lucro de R$ 200 para a empresa.";
var resultado = string.replace(/\d+/g, function aplicarIndice(x) {
x = x*1.05;
return Math.floor(x);});
O valor atribuído a resultado é: “Contrato no valor de R$ 1050. Lucro de R$ 210 para a empresa.”.
O método replace() recebeu uma expressão regular no primeiro parâmetro que identificará qualquer número presente na string e como segundo parâmetro recebeu uma função. Essa função atualizará o valor numérico identificado e o multiplicará por 1.05.
Run!Compatibilidade entre navegadores
replace() é suportado por todos os browsers apresentados na Tabela 1.
replace() | Chrome | Firefox | IE | Edge | Safari | Opera |
---|---|---|---|---|---|---|
Sim | Sim | Sim | Sim | Sim | Sim |
Tabela 1. Compatibilidade do método x browsers.
Métodos semelhantes
Confira outros conteúdos:
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 59,00
Total: R$ 708,00
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 64,00 /mês
Total: R$ 768,00
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.