Nesta página
Strings do Python: converter, limpar, localizar e formatar
As strings são o tipo de dados que você mais toca em Python: a entrada do usuário, o conteúdo de arquivos, páginas da web e linhas de CSV chegam todos como texto. É fácil subestimá-las, porque uma string do Python é imutável — nenhum método a altera no lugar; cada operação devolve uma nova string. Esta página organiza todos os 115 guias de strings do DelftStack de acordo com o trabalho que você está fazendo, ao longo de quatro linhas de tarefa: converter texto para outros tipos e de volta, limpar os caracteres que não pertencem, localizar e verificar o que uma string contém, e formatar ou substituir texto para a saída.
O caminho de aprendizagem das strings
Comece com cinco minutos de noções básicas: como as strings são construídas, indexadas e fatiadas, e por que a imutabilidade significa que você deve sempre guardar o valor devolvido. Depois aprenda a localizar e limpar — find(), o operador in, strip() e replace() cobrem a maior parte do trabalho diário com texto. Em seguida, passe para a conversão, onde as strings trocam de lugar com listas, números, dicionários e bytes. Termine com a formatação e a substituição, onde as f-strings são o padrão e os estilos mais antigos aparecem apenas onde ainda merecem seu lugar. Cada passo abaixo é um grupo nesta página, na ordem em que devem ser aprendidos.
Noções básicas em cinco minutos: criar, unir e repetir
Uma string é uma sequência de caracteres entre aspas simples ou duplas; as aspas triplas abrangem várias linhas, e a indexação junto com o fatiamento lê qualquer parte dela. Dois fatos fazem a maior parte do trabalho: len() mede uma string, e construir uma mais longa sempre produz um novo valor.
- How to Repeat String N Times in Python — Multiplica com
*para um número fixo de cópias, depois repete e fatia para atingir um comprimento alvo exato, validando fontes vazias e comprimentos negativos. - Copiar String em Python — Seis rotas para duplicar — concatenação com string vazia, fatiamento completo,
str(),%,format()e f-strings — depois de explicar por que a imutabilidade faz com que as duas variáveis compartilhem um único valor. - Crie uma string de várias linhas em Python — Aspas triplas para texto de várias linhas de verdade, barra invertida e concatenação entre parênteses para uma única linha lógica, e
textwrap.fill()para saída de largura fixa. - Anexar uma string a outra em Python —
+contrastr.join();join()vence com muitas peças porque cada+constrói uma nova string intermediária.
Converter: strings em listas, números e de volta
A conversão é onde o trabalho com strings ganha o seu valor: os dados chegam como texto e são usados como outra coisa. As listas são a porta mais movimentada, os números a seguinte; os contêineres se achatam com str() ou join(), e os bytes só atravessam por codificações explícitas. Um vizinho mora em outro lugar: converter um datetime em string pertence aos guias de Datetime — veja a seção Datetime do pilar Python.
- Converter uma string em lista em Python — O guia principal:
list()para caracteres,split()para palavras e campos,ast.literal_eval()para texto literal — nuncaeval()em entradas nas quais você não confia. - Converter tupla em string em Python —
str()mantém a estrutura da tupla,join()dá um resultado limpo e separado, e um gerador comstr()por item lida com tipos misturados. - Converter dicionário em string em Python — Quatro rotas: um laço escrito à mão,
str(),json.dumps()para intercâmbio epprint.pformat()para um aninhamento legível. - Equivalente a tostring() em Python — O Python não tem
toString(): usestr()para um valor,join()para muitos, f-strings para mensagens,__str__()para suas próprias classes. - Converter lista de strings em inteiros em Python — A mesma conversão de quatro maneiras: compreensão de lista,
map(int, ...), um laço explícito e NumPy para grandes conjuntos de dados. - Converter Bytearray em String em Python — Mostra por que
bytes()deixa para trás uma representaçãob'...'e por quebytearray.decode()devolve o texto real. - Converter uma string em binário em Python — Separa o binário por ponto de código via
ord()do binário de bytes codificados viabytearray()com preenchimento08b. - Converter string em booleano em Python — Começa com a armadilha —
bool("False")éTrue— e depois constrói um analisador de tokens explícito que levanta um erro diante de grafias desconhecidas.
Limpar e excluir: remova o que não pertence
A limpeza é o território caseiro deste cluster: páginas raspadas, exportações e entradas do usuário chegam com caracteres que nunca foram convidados. Escolha pela forma da sujeira: replace() para uma substring conhecida, translate() com uma tabela para um conjunto inteiro de caracteres de uma vez, e expressões regulares quando a sujeira é um padrão, não um literal.
- Maneiras de remover xa0 de uma string em Python — Dois ataques ao espaço inquebrável invisível: a decomposição com
unicodedata.normalize("NFKD", ...)e umreplace("\xa0", " ")direto. - Remover vírgulas da string em Python —
replace(",", "")para cada vírgula, o argumentocountapenas para a primeira,re.sub()para o trabalho com padrões. - Como tirar a pontuação a partir de uma string em Python — O kit completo: um filtro contra
string.punctuation, a substituição com a expressão regular[^\w\s], e uma tabela rápida destr.translate()criada pormaketrans(). - Remover aspas da string em Python —
replace()apaga as aspas em todos os lugares;strip('"')corta apenas o par que envolve, deixando intactas as aspas internas. - Remova caracteres especiais da string em Python — Define primeiro o que é «especial», depois aplica um filtro
isalnum(), um conjuntotranslate(), ou uma expressão regular somente ASCII. - Remover \n da string em Python —
replace()para as quebras de linha,split()maisjoin()para reunir as linhas com espaços simples, e expressões regulares para o espaço em branco misturado. - Remover o último caractere da string em Python — O fatiamento resolve:
s[:-1]elimina o último caractere e a indexação negativa se generaliza para os três últimos.
Localizar, verificar e contar
Localizar é a maior demanda não atendida deste cluster: os leitores sabem o caractere que querem e precisam de sua posição, sua contagem, ou uma resposta de sim ou não. Mantenha nítida a divisão de trabalho — in responde se está, find() responde onde está o primeiro, index() responde onde e reclama em voz alta quando não há correspondência, e count() responde quantos há.
- Como encontrar a posição de um caractere em uma string no Python —
find()para a primeira correspondência,rfind()para a última,index()quando a ausência deve levantar um erro, e um laço comenumerate()para cada índice. - Como contar as ocorrências de um caractere em uma string Python —
str.count()para um caractere, com sua regra de substrings que não se sobrepõem;collections.Counterquando é preciso contar cada caractere. - Verifique se uma string contém palavra em Python —
inpara o teste simples, observando que"is" in "This"é verdadeiro; uma expressão regular com limites de palavra\bquando a palavra inteira importa. - Verifique se a variável é string ou não está em Python —
isinstance(value, str)como padrão, a comparação comtype()mais rigorosa que perde as subclasses, e variantes com try-except. - Como usar a instrução if com strings em Python — Condições a partir de
==, pertencimento comine comparação com o caso normalizado;istesta a identidade, não o texto. - Python Encontre todas as ocorrências na string —
count()com limites para um total rápido, e uma compreensão comstartswith()que devolve cada índice.
Maiúsculas e minúsculas, comparação e preenchimento
O caso é onde as comparações falham em silêncio: o Python compara por ponto de código Unicode, então o caso e as letras especiais contam todos. Normalize antes de comparar — lower() ou upper() para o texto comum, casefold() quando os pares Unicode devem corresponder — e preencha com ljust(), rjust(), center() ou zfill() para a apresentação.
- Comparação de strings que não diferenciam maiúsculas de minúsculas em Python — Normaliza os dois lados com
lower()ouupper(), depois apresenta o argumento Unicode a favor decasefold(), que torna equivalentesstraßeeSTRASSE. - String com espaços em Python — O banco completo:
ljust(),rjust(),center()com caracteres de preenchimento, mais os equivalentes com%,format()e f-strings para uma saída alinhada. - Comparar Strings em Python — A referência de operadores:
==e!=para igualdade,<e>para a ordem lexicográfica decidida pelo primeiro ponto de código diferente. - How to Compare Two Strings Character by Character in Python — Emparelha caracteres com
zip()e conta as posições correspondentes, tratando explicitamente as entradasNonee os comprimentos desiguais.
Formatar e substituir
Para código novo, formatar significa f-strings: os valores ficam dentro do modelo, onde você pode lê-los, e as especificações de formato controlam largura e precisão. str.format() continua sendo o certo quando o modelo vive separadamente ou é reutilizado, e a formatação com % sobrevive no código antigo que você continuará encontrando. A substituição obedece à imutabilidade como tudo o mais — você nunca edita uma string, você constrói a corrigida.
- Substituir caractere em uma string em Python — Converter para lista e atribuir por índice, fatiar em torno de uma posição conhecida, ou
replace()para cada correspondência — cada um devolve uma nova string. - Diferença entre% s e% d na formatação de string Python —
%saceita qualquer valor por meio da conversão comstr();%dexige um inteiro e trunca os decimais — a distinção herdada por trás da maioria das surpresas. - The sprintf() Function in Python — O Python não tem
sprintf(); o trabalho recai sobre o operador%, sobreformat(), f-strings, ou um invólucro feito à mão. - Substitua o caractere na string no índice em Python — O exemplo
Meatloafdas duas maneiras — fatiar e reconstruir, ou mutar uma cópia em lista — estendido a vários índices.
Mapa de métodos de string
O Python vem com 47 métodos de string integrados, e este mapa encontra o certo rapidamente. Leia-o por verbos: a família is* verifica, os métodos de caso transformam, split e join desmontam e reconstroem, os métodos de busca localizam. Onde um guia se aprofunda em um método, a terceira coluna o vincula; uma célula vazia significa que a descrição de uma linha basta.
| Método | O que faz | Aprofundar |
|---|---|---|
capitalize() |
Coloca o primeiro caractere em maiúscula e o resto em minúscula | Aprofundar |
casefold() |
Minúsculas agressivas, feitas para a correspondência sem distinção de caso | Aprofundar |
center() |
Centraliza a string em um campo da largura dada | Aprofundar |
count() |
Conta as ocorrências não sobrepostas de uma substring | Aprofundar |
encode() |
Codifica a string para bytes na codificação escolhida | Aprofundar |
endswith() |
Testa se a string termina com um sufixo | |
expandtabs() |
Substitui os caracteres de tabulação por espaços | |
find() |
Menor índice de uma substring, ou -1 quando ausente | Aprofundar |
format() |
Formata valores em marcadores {} | |
format_map() |
Como format(), com valores tirados de um mapeamento | |
index() |
Menor índice de uma substring; levanta ValueError quando ausente | Aprofundar |
isalnum() |
Verdadeiro quando cada caractere é uma letra ou um dígito | Aprofundar |
isalpha() |
Verdadeiro quando cada caractere é alfabético | |
isascii() |
Verdadeiro quando cada caractere é ASCII | |
isdecimal() |
Verdadeiro quando cada caractere é um dígito decimal | |
isdigit() |
Verdadeiro quando cada caractere é um dígito | Aprofundar |
isidentifier() |
Verdadeiro quando a string é um identificador válido do Python | |
islower() |
Verdadeiro quando todas as letras estão em minúscula | |
isnumeric() |
Verdadeiro quando cada caractere é numérico | |
isprintable() |
Verdadeiro quando cada caractere é imprimível | |
isspace() |
Verdadeiro quando cada caractere é espaço em branco | |
istitle() |
Verdadeiro quando a string está em formato de título | |
isupper() |
Verdadeiro quando todas as letras estão em maiúscula | |
join() |
Une um iterável de strings usando esta string como separador | Aprofundar |
ljust() |
Justifica à esquerda em um campo da largura dada | Aprofundar |
lower() |
Devolve uma cópia em minúsculas | Aprofundar |
lstrip() |
Remove os caracteres iniciais (espaço em branco por padrão) | |
maketrans() |
Constrói uma tabela de tradução para translate() | Aprofundar |
partition() |
Divide no primeiro separador em uma tupla de três partes | |
removeprefix() |
Remove um prefixo quando ele está presente | |
removesuffix() |
Remove um sufixo quando ele está presente | |
replace() |
Substitui as ocorrências de uma substring por outra | Aprofundar |
rfind() |
Maior índice de uma substring, ou -1 quando ausente | Aprofundar |
rindex() |
Maior índice de uma substring; levanta ValueError quando ausente | |
rjust() |
Justifica à direita em um campo da largura dada | Aprofundar |
rpartition() |
Divide no último separador em uma tupla de três partes | |
rsplit() |
Divide por um separador, contando a partir da direita | |
rstrip() |
Remove os caracteres finais (espaço em branco por padrão) | |
split() |
Divide por um separador em uma lista | Aprofundar |
splitlines() |
Divide nos limites de linha em uma lista | |
startswith() |
Testa se a string começa com um prefixo | Aprofundar |
strip() |
Remove os caracteres iniciais e finais | Aprofundar |
swapcase() |
Devolve uma cópia com o caso de cada caractere invertido | |
title() |
Devolve uma cópia em formato de título, com cada palavra em maiúscula | |
translate() |
Mapeia os caracteres por meio de uma tabela de tradução | Aprofundar |
upper() |
Devolve uma cópia em maiúsculas | Aprofundar |
zfill() |
Preenche com zeros à esquerda até a largura dada | Aprofundar |
Perguntas frequentes
Como converto uma string em uma lista em Python?
Decida o que cada item deve ser e escolha depois a ferramenta correspondente. list(text) dá um item por caractere; text.split() dá palavras, e text.split(",") dá campos separados por um delimitador, preservando os campos vazios. Para um texto que já parece uma lista do Python, analise-o com ast.literal_eval() e verifique se o resultado é realmente uma lista. Nunca use eval() em entradas que você não controla. O passo a passo completo está em Converter uma string em lista em Python.
Como verifico se uma string contém uma substring ou uma palavra?
Para um teste simples de substring, use o operador in: "word" in text devolve um booleano e diferencia maiúsculas de minúsculas. Quando você também precisa da posição, find() devolve o primeiro índice ou -1, enquanto index() levanta ValueError em vez disso. Observe que in também corresponde dentro de palavras maiores — "is" in "This" é verdadeiro — então, para uma palavra inteira, tokenize ou use uma expressão regular com limites \b, como mostrado em Verifique se uma string contém palavra em Python.
Como removo a pontuação ou os caracteres especiais de uma string?
Defina primeiro o que deve sair: apenas a pontuação, ou tudo o que não for letra nem dígito. Para a pontuação, filtre contra string.punctuation, substitua com a expressão regular [^\w\s], ou apague um conjunto inteiro de uma só vez com uma tabela de str.translate() criada por maketrans() — a opção mais rápida. Para uma limpeza mais ampla, um filtro isalnum() preserva as letras e os dígitos Unicode. Como tirar a pontuação a partir de uma string em Python percorre cada variante.
Por que o Python diz «not all arguments converted during string formatting»?
Este TypeError vem da formatação com %: o modelo contém menos marcadores do que a tupla de valores que você passou, então o Python chega ao fim do modelo com argumentos sobrando — por exemplo, "Value: " % (1, 2). Dê a cada valor exatamente um marcador, embrulhe um único valor em uma tupla de um item e escape um sinal de porcentagem literal como %%`. Um guia dedicado a esse erro o disseca caso a caso.
Existe um toString() em Python?
Não. O Python não tem um método toString(); procurá-lo é um hábito trazido do Java. O equivalente é o integrado str(value), que devolve uma string legível para números, coleções e a maioria dos objetos. Use join() para combinar muitas strings, f-strings para construir mensagens, e defina __str__() em suas próprias classes para controlar como elas são impressas. Observe que str() produz texto de exibição, não JSON nem CSV. Veja Equivalente a tostring() em Python.
Como substituo um caractere em um índice específico?
Você não pode atribuir dentro de uma string — text[2] = "m" levanta TypeError, porque as strings são imutáveis. Construa a substituição em vez disso: fatie em torno da posição, text[:2] + "m" + text[3:], ou converta para lista, atribua no índice e reúna com "".join(...). Ambos devolvem uma nova string e deixam a original intacta; valide o índice contra len(text) quando ele vier da entrada do usuário. Substitua o caractere na string no índice em Python mostra os dois.
Todos os guias de strings do Python
Noções básicas
- Copiar String em Python
- How to Repeat String N Times in Python
- Crie uma string de várias linhas em Python
- Loop sobre uma string em Python
- Anexar uma string a outra em Python
- Concatenar String e Valores Int em Python
- Adicionar caractere à string em Python
- String Builder equivalente em Python
- Inserir string em uma string em Python
- How to Fix String Indices Must Be Integers Error in Python
Converter
- Converter uma string em lista em Python
- Converter tupla em string em Python
- Converter lista de strings em inteiros em Python
- Converter Bytearray em String em Python
- Converter dicionário em string em Python
- Equivalente a tostring() em Python
- Como Converter string em Flutuante ou Int em Python
- Como converter float em string em Python
- How to Convert String to Unicode in Python
- Converter uma string em binário em Python
- Converter string em booleano em Python
- Como Converter Inteiro em strings em Python
- Formatar um número flutuante em string em Python
- How to Convert List to Comma-Separated String in Python
- Como Converter uma Lista para String em Python
- Lista concatenada de string em Python
- Dividir String para lista de caracteres em Python
- How to Parse String to List in Python
- Como dividir as strings com base em múltiplos Delimitadores em Python
- Divida uma string por WhiteSpace em Python
- Dividir string pela metade em Python
- Converter string em valor ASCII em Python
- Converter caracteres Unicode em string ASCII em Python
- Converter String em Double em Python
- Converter String em Decimal em Python
- Como Converter Bytes em Strings em Python 2 e Python 3
- Como Converter strings em Bytes em Python
- How to Convert Datetime to String in Python
- Como converter string para data em Python
- Converter uma string em nome de variável em Python
- How to Stringify JSON in Python
- How to Convert a String to a Float Value in Python
- Converter String em Inteiro em Python
Limpar e excluir
- Maneiras de remover xa0 de uma string em Python
- Remover vírgulas da string em Python
- Como tirar a pontuação a partir de uma string em Python
- Remover aspas da string em Python
- Remova caracteres especiais da string em Python
- Remover \n da string em Python
- Remover o último caractere da string em Python
- Remover certos caracteres da string em Python
- Remover números da string em Python
- Remover newline da string em Python
- Remova o primeiro caractere da string em Python
- Remover parênteses da string em Python
- Retirar o cordão de cordão em Python
- Como remover espaços em branco numa string em Python
Localizar, verificar e contar
- Verifique se uma string contém palavra em Python
- Verifique se a variável é string ou não está em Python
- Como verificar uma string contém um número em Python
- Verifique se uma string é inteira em Python
- Como encontrar a posição de um caractere em uma string no Python
- Como contar as ocorrências de um caractere em uma string Python
- Como usar a instrução if com strings em Python
- Python Encontre todas as ocorrências na string
- How to Check if a String Is a Number in Python
- Como verificar se uma string contém um substrato em Python
- How to Check if a Word Exists in a String in Python
- How to Find All Indexes of a Character in Python String
- Extrair substring de uma string em Python
- Números extraídos de uma string em Python
- Contar palavras em string em Python
- How to Count Vowels in a String Using Python
- How to Get Longest Common Substring in Python
- Encontre String na Lista em Python
- How to Match Fuzzy String in Python
- Python Verifique se a lista contém uma string
- Python Encontrar Cordel em Ficheiro
- Como Verificar se uma String Está Vazia de uma Forma Pythonica
Maiúsculas e minúsculas, comparação e preenchimento
- Comparação de strings que não diferenciam maiúsculas de minúsculas em Python
- String com espaços em Python
- Comparar Strings em Python
- How to Compare Two Strings Character by Character in Python
- Cadeia de caracteres de preenchimento com zeros em Python
- Letras maiúsculas em Python
- How to Right Justify String in Python
- How to Sort String Alphabetically in Python
Formatar e substituir
- The sprintf() Function in Python
- Substituir caractere em uma string em Python
- Diferença entre% s e% d na formatação de string Python
- Substitua o caractere na string no índice em Python
- String Interpolation in Python
- How to Solve the TypeError: Not All Arguments Converted During String Formatting in Python
- How to Fix TypeError: Not Enough Arguments for Format String Error in Python
- How to Fix TypeError: Non-Empty Format String Passed to Object.format in Python
- Substituir string no arquivo usando Python
- Imprimir string e variável em Python
Mais artigos sobre strings
- Criptografar uma string Python
- Chamar uma função a partir do nome da string em Python
- B na frente da string em Python
- String bruta em Python
- Raw String and Unicode String in Python
- Reverter uma string em Python
- Permutações de uma string em Python
- Ler arquivo para uma string em Python
- Gravar String em um Arquivo em Python
- How to Print String to Text File Using Python
- How to Send String Using Python Socket
- Citação de barra invertida em string em Python
- EOL durante a varredura do literal de string em Python
- How to Fix TypeError: str Returned Non-String but Printing Output
- How to Create and Access Docstrings in Python
- Most Common Docstring Patterns in Python
- Como realizar o Xor bit a bit de duas strings em Python
- Gerar strings aleatórias em Python
Isso é o cluster de strings de ponta a ponta. Para o mapa mais amplo — listas, dicionários, arquivos, datas e erros — volte ao pilar Python, onde os grupos Dictionary e List ficam ao lado do grupo Strings que esta página expande.