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.
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().
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)Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: pythonImplementaçã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
Aprenda como dividir uma string em uma lista em Python usando o método split(). Explore a divisão por espaços, vírgulas, novas linhas e a limitação da contagem de divisões.
Como reverter uma string em PythonAprenda como reverter uma string em Python usando fatiamento, a função reversed() e concatenação de loop com exemplos de código visual.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Tentativa/Exceção em Python e tratamento de erros
Evite que seus scripts Python travem. Aprenda os blocos try, exceto, finalmente e como gerar exceções personalizadas corretamente.
Folha de dicas dos métodos de string Python
Um guia de referência completo para manipulação de strings em Python. Domine a formatação, pesquisa, divisão, substituição e verificação de propriedades de string.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.