replace() no Python: Como Substituir Textos (e Testar ao Vivo)
Trocar uma palavra, limitar as substituições ou limpar um telefone: conheça o replace(), veja o que acontece com a string original e pratique aqui mesmo.
08/10/2026 Desenvolvimento
Você escreveu uma frase e precisa trocar um pedaço dela. Como fazer isso sem montar tudo de novo?
Imagine uma mensagem com o nome errado de um curso ou um telefone cheio de parênteses e hífens. O método replace() ajuda nessas pequenas transformações. Vamos partir de uma troca simples e testar situações que costumam confundir quem está começando.
1. O que é o replace()?
É um método de strings que devolve o texto com um trecho substituído por outro. Você informa o texto antigo, o texto novo e, se quiser, um limite de substituições.
texto.replace("antigo", "novo")
texto.replace("antigo", "novo", 1)
2. Uma troca simples
Que tal mudar a linguagem citada na frase, mantendo o restante da mensagem?
frase = "Eu gosto de Java"
resultado = frase.replace("Java", "Python")
print(resultado) # Eu gosto de Python
Por padrão, todas as ocorrências são substituídas. A busca diferencia maiúsculas de minúsculas: "Python" e "python" não são iguais. Se o trecho não for encontrado, o resultado tem o mesmo conteúdo do texto de entrada.
Teste agora: sua própria substituição
Simulação em JavaScript do comportamento de replace() para os campos acima; não executa código Python. O código exibido pode ser copiado para seu editor.
3. Como trocar só a primeira ocorrência?
O terceiro argumento, chamado count, limita as trocas da esquerda para a direita. Com um, só a primeira muda; com zero, nenhuma. Um valor negativo significa substituir todas.
texto = "Python Python Python"
print(texto.replace("Python", "Java", 1))
# Java Python Python
4. A string original não muda sozinha
Strings são imutáveis. Chamar o método não altera o conteúdo da variável original: você precisa guardar o resultado. Pode usar outra variável ou reatribuir o nome existente.
frase = "Eu gosto de Java"
frase.replace("Java", "Python")
print(frase) # Eu gosto de Java
frase = frase.replace("Java", "Python")
print(frase) # Eu gosto de Python
Antes: frase = "Eu gosto de Java". Alterne entre descartar e guardar o retorno:
5. Aplicação prática: limpar um telefone
Uma string vazia no segundo argumento remove o trecho encontrado. Para retirar parênteses, espaço e hífen, podemos encadear quatro chamadas. Cada uma recebe o resultado da anterior.
telefone = "(85) 99999-9999"
limpo = telefone.replace("(", "").replace(")", "")
limpo = limpo.replace(" ", "").replace("-", "")
print(limpo) # 85999999999
Limpar não é validar. Essa sequência remove somente os caracteres indicados; não verifica DDD, quantidade de dígitos ou se o telefone existe. Letras e outros símbolos permanecem.
Desmarque uma opção para ver o que fica. Inclua uma letra: ela não será removida.
6. replace(), split() e join(): qual usar?
- Substituir: use
replace()para trocar um trecho de uma string. - Separar: use
split()para transformar um texto em uma lista de partes. - Juntar: use
join()para unir um iterável de strings com um separador.
Pense na tarefa antes de escolher o método. Para trocar hífens por barras em uma data representada como texto, não é necessário separar e juntar: uma substituição literal resolve.
data = "2026-10-08"
print(data.replace("-", "/")) # 2026/10/08
7. Cuidados para não trocar demais
A busca é por trecho literal, não por palavra inteira nem por expressão regular. Trocar "Ana" em "Ana e Anabela" também muda o início de Anabela. Para padrões mais complexos, estude o módulo re.
print("Ana e Anabela".replace("Ana", "Bia"))
# Bia e Biabela
Outro caso especial é buscar uma string vazia: o novo trecho entra nas posições antes, entre e depois dos caracteres, respeitando o limite. No laboratório, apague o campo antigo para observar esse comportamento.
print("ab".replace("", "-")) # -a-b-
Para lembrar
Escolha o trecho, escolha a troca, guarde o resultado. Comece pelos botões de exemplo, limite uma substituição, teste uma busca que não existe e veja a diferença entre limpar e validar. Trocar textos também é programar!
Referência técnica: documentação oficial de str.replace() do Python.
Teste seu conhecimento
Responda às cinco perguntas e confira a explicação de cada resposta.
1. O que replace() devolve?
Resposta correta: B) Uma string com o trecho substituído
O retorno é uma string; o conteúdo da variável original não é alterado pela chamada.
2. Qual é o resultado de "Python Python Python".replace("Python", "Java", 1)?
Resposta correta: C) Java Python Python
O limite 1 substitui somente a primeira ocorrência, da esquerda para a direita.
3. Depois de frase = "Java" e frase.replace("Java", "Python"), o que print(frase) mostra?
Resposta correta: A) Java
O retorno foi descartado. Para guardar a troca, use frase = frase.replace("Java", "Python").
4. Qual é o resultado de "Python python".replace("python", "Java")?
Resposta correta: D) Python Java
A busca diferencia maiúsculas de minúsculas; apenas o segundo trecho coincide.
5. O que "85-99999-9999".replace("-", "") faz?
Resposta correta: B) Remove os hífens e retorna "85999999999"
O texto novo vazio remove os trechos encontrados. Isso não valida o telefone nem remove outros símbolos.