Como substituir caracteres em uma string em Python

Aprenda como substituir caracteres ou substrings em strings Python. Domine o método replace(), conte limites e use a tradução para vários caracteres.

Experimente esta solução no Editor

Visão geral

A manipulação de strings está no centro da análise de entradas, renderização de modelos, limpeza de dados e geração de texto de saída. Em Python, modificar caracteres ou substrings específicos dentro de um bloco de texto é simples, mas requer a compreensão de uma propriedade fundamental das strings: a imutabilidade.

Como as strings Python são imutáveis, você não pode modificar seus caracteres no local (por exemplo, escrever `text[0] = "A"` gera um `TypeError`). Em vez disso, qualquer operação que altere uma string deve criar e retornar uma string totalmente nova. A principal ferramenta para isso é o método integrado `.replace()`.

O método `.replace(old, new)` pesquisa em uma string todas as ocorrências de uma substring especificada e as substitui por uma nova substring. Você também pode especificar um terceiro argumento opcional `count`, que limita o número de substituições a serem realizadas da esquerda para a direita. Para substituições mais complexas de vários caracteres, você pode usar o método `.translate()` ou expressões regulares com a função `re.sub()`.

Saída de código e execução

Este script demonstra a modificação de strings substituindo substrings e caracteres usando o método replace().

replace_chars.py
Experimente no Editor
text = "banana apple banana cherry"

# 1. Replace all occurrences of a word
replaced_all = text.replace("banana", "orange")
print("Replaced all:", replaced_all)

# 2. Replace with a count limit (only first occurrence)
replaced_limit = text.replace("banana", "orange", 1)
print("Replaced limit:", replaced_limit)

# 3. Replace individual characters (immutability demonstration)
phrase = "pyth0n"
corrected = phrase.replace("0", "o")
print("Corrected string:", corrected)
Saída terminal
Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: python

Implementação passo a passo

  • Chame o método .replace() na string de destino.
  • Passe a substring de destino como o primeiro argumento e a substituição como o segundo.
  • Use o argumento count se quiser restringir o número de substituições.

Perguntas frequentes

Como substituo caracteres em uma string no local?

Você não pode porque as strings do Python são imutáveis. Você deve atribuir o resultado do método .replace() de volta à sua variável string: text = text.replace(...).

Substituir () diferencia maiúsculas de minúsculas?

Sim, .replace() diferencia estritamente maiúsculas de minúsculas. Para realizar substituições que não diferenciam maiúsculas de minúsculas, você deve usar expressões regulares com o módulo re e re.IGNORECASE.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.