Pular para o conteúdo principal

Como aparar uma cadeia de caracteres em Python: Três métodos diferentes

Aprenda os fundamentos do corte de caracteres à esquerda e à direita de uma string em Python.
Actualizado 16 de fev. de 2025  · 6 min de leitura

O corte de texto é uma tarefa fundamental ao lidar com dados de texto em Python, especialmente nas fases de limpeza e preparação de dados de projetos de ciência de dados. O corte ajuda a remover caracteres indesejados, como espaços em branco, do início e do fim das cadeias de caracteres, tornando seus dados mais consistentes e prontos para análise.

Neste tutorial, mostrarei a você os três principais métodos para cortar cadeias de caracteres em Python: .strip() .lstrip() , e .rstrip(), e abordarei casos de uso específicos para demonstrar a versatilidade e a utilidade desses métodos em cenários do mundo real.

3 métodos para aparar uma cadeia de caracteres em Python

O Python fornece métodos integrados para cortar strings, o que facilita a limpeza e o pré-processamento de dados textuais. Esses métodos incluem

  • .strip(): Remove caracteres à esquerda e à direita (espaços em branco por padrão).
  • .lstrip(): Remove os caracteres iniciais (espaços em branco por padrão) do lado esquerdo da cadeia de caracteres.
  • .rstrip(): Remove os caracteres finais (espaços em branco por padrão) do lado direito da cadeia de caracteres.

A compreensão desses métodos permite a manipulação e a preparação eficientes de textos, o que é fundamental para qualquer tarefa de ciência de dados que envolva dados textuais.

1. Removendo espaços em branco à esquerda e à direita de strings em Python usando .strip()

O método .strip() foi projetado para eliminar os caracteres iniciais e finais de uma cadeia de caracteres. É mais comumente usado para remover espaços em branco. Aqui está um exemplo abaixo, quando usado na string " I love learning Python! ".

text = "   I love learning Python!   "
trimmed_text = text.strip()
print(trimmed_text)  # Output: "I love learning Python!"

Esse método é particularmente útil para padronizar cadeias de caracteres que podem vir com quantidades variáveis de espaços em branco à esquerda e à direita.

2. Removendo espaços em branco à esquerda de strings em Python usando .lstrip()

O método .lstrip() tem como alvo o lado esquerdo de uma cadeia de caracteres, removendo os caracteres iniciais. Por padrão, ele remove espaços em branco, mas pode ser direcionado para remover caracteres específicos. Aqui está o método .lstrip() aplicado à mesma cadeia de caracteres " I love learning Python! " do exemplo anterior:

text = "   I love learning Python!   "
left_trimmed_text = text.lstrip()
print(left_trimmed_text)  # Output: "I love learning Python!   "

.lstrip() é útil quando você precisa limpar cadeias de caracteres que começam com espaços ou caracteres indesejados, como em listas de nomes ou dados categóricos.

3. Removendo espaços em branco à direita de strings em Python usando .rstrip()

O método .rstrip() complementa o .lstrip(), removendo os caracteres finais do lado direito de uma cadeia de caracteres. Ele compartilha a flexibilidade de especificar quais caracteres devem ser removidos. Aqui está ele aplicado ao mesmo exemplo acima:

text = "   I love learning Python!   "
right_trimmed_text = text.rstrip()
print(right_trimmed_text)  # Output: "   I love learning Python!"

Use .rstrip() ao lidar com cadeias de caracteres que tenham caracteres ou espaços indesejados no final, como pontuação ou anotações à direita.

Remoção de caracteres específicos de uma string em Python

Os métodos de corte de cadeia de caracteres do Python permitem que você especifique quais caracteres devem ser removidos do início e do fim das cadeias de caracteres. Essa funcionalidade adiciona uma camada de flexibilidade aos métodos .strip(), .lstrip() e .rstrip(), permitindo operações de limpeza de cadeia de caracteres mais direcionadas.

Entretanto, como veremos em nossos exemplos, é importante reconhecer as limitações inerentes a esses métodos: eles não são capazes de remover caracteres do meio de cadeias de caracteres ou lidar com remoções mais complexas baseadas em padrões. Para essas necessidades avançadas, as expressões regulares (regex) oferecem uma solução mais robusta.

Removendo caracteres específicos de uma string em Python usando .strip()

Primeiro, vamos começar com o método .strip(). O método .strip() pode ser personalizado para remover não apenas espaços em branco, mas também caracteres específicos de ambas as extremidades de uma cadeia de caracteres. Aqui está um exemplo:

text = "!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')
print(specific_char_trimmed)  # Output: "I love learning Python"

Agora, vamos imaginar que nossa string seja, na verdade, "xxxyyy I love learning Python xxxyyy". Dado que ”xxx” e ”yyy” estão no início e no final da cadeia de caracteres, é possível remover ambos especificando o caractere 'xy' como o caractere a ser removido. Aqui está ele em ação!

text = "xxxyyy I love learning Python xxxyyy"
specific_chars_trimmed = text.strip('xy')
print(specific_chars_trimmed)  # Output: " I love learning Python "

Conforme mencionado anteriormente, é fundamental que você entenda que o site .strip() não pode remover caracteres do meio da cadeia de caracteres. Por exemplo, se o texto que estivermos removendo for "!!!I love learning!!! Python!!!", o resultado da operação acima será ”I love learning!!! Python”. Para operações de remoção mais complexas, é melhor você verificar as expressões regulares em vez dos métodos de remoção descritos neste tutorial.

Removendo caracteres específicos de uma string em Python usando .lstrip() e .rstrip()

O mesmo pode ser aplicado aos métodos .lstrip() e .rstrip(). Abaixo estão exemplos de remoção de caracteres iniciais e finais específicos em .lstrip() e .rstrip(), respectivamente:

text = "!!!I love learning Python!!!"
left_char_trimmed = text.lstrip('!')
print(left_char_trimmed)  # Output: "I love learning Python!!!"
text = "!!!I love learning Python!!!"
right_char_trimmed = text.rstrip('!')
print(right_char_trimmed)  # Output: "!!!I love learning Python"

Além disso, a mesma técnica de remoção de vários caracteres pode ser aplicada a .lstrip() e .rstrip()

text = "xxxyyy I love learning Python xxxyyy"
left_chars_trimmed = text.lstrip('xy')
print(left_chars_trimmed)  # Output: " I love learning Python xxxyyy"
text = "xxxyyy I love learning Python xxxyyy"
right_chars_trimmed = text.rstrip('xy')
print(right_chars_trimmed)  # Output: "xxxyyy I love learning Python"

Novos métodos de corte de strings no Python 3.9

O Python 3.9 introduziu str.removeprefix() e str.removesuffix(), que removem explicitamente prefixos ou sufixos conhecidos.

Remoção de um prefixo usando removeprefix()

text = "Python_is_fun"
trimmed_text = text.removeprefix("Python_")
print(trimmed_text)  # Output: "is_fun"

Remoção de um sufixo usando removesuffix()

text = "data_cleaning.csv"
trimmed_text = text.removesuffix(".csv")
print(trimmed_text)  # Output: "data_cleaning"

Considerações sobre o desempenho do corte de cordas

Ao trabalhar com grandes conjuntos de dados, é importante cortar as cadeias de caracteres com eficiência. .strip() Você pode usar os sites O(n) , .lstrip() e .rstrip() para operar com complexidade de tempo O(n). No entanto, para conjuntos de dados maciços, o uso de operações vetorizadas no Pandas pode ser mais eficiente:

import pandas as pd
df = pd.DataFrame({"text": ["  Data Science  ", "  Machine Learning  "]})
df["cleaned_text"] = df["text"].str.strip()
print(df)

Conclusão

Compreender o corte e a manipulação de strings é essencial para uma programação Python eficaz. Embora os métodos .strip(), .lstrip() e .rstrip() atendam às necessidades básicas, para lidar com cenários mais complexos, você pode precisar mergulhar em expressões regulares. Para aprender mais, considere explorar nosso tutorial sobre expressões regulares ou, melhor ainda, comece com a trilha de habilidades de processamento de linguagem natural em Python do DataCamp.

Aprenda Python do zero

Domine o Python para a ciência de dados e adquira habilidades que estão em alta.
Comece a aprender de graça

Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel é educador de ciência de dados, palestrante e evangelista da DataCamp, onde lançou vários cursos e treinamentos ao vivo sobre análise de dados, aprendizado de máquina e engenharia de dados. Ele é apaixonado pela disseminação das habilidades e da alfabetização de dados nas organizações e pela interseção entre tecnologia e sociedade. Ele tem um mestrado em ciência de dados e análise de negócios. Em seu tempo livre, você pode encontrá-lo passeando com seu gato Louis.

Perguntas frequentes

Posso usar .strip(), .lstrip() ou .rstrip() para remover caracteres numéricos de uma string?

Sim, você pode especificar caracteres numéricos como alvo para remoção. Por exemplo:

text = "12345Python12345"
trimmed_text = text.strip('12345')
print(trimmed_text)  # Output: "Python"

Como .strip(), .lstrip() e .rstrip() lidam com cadeias de caracteres com caracteres de espaço em branco misturados, como tabulações ou novas linhas?

Por padrão, esses métodos removem todos os tipos de espaço em branco, incluindo espaços, tabulações(\t) e novas linhas(\n). Por exemplo:

text = "\t\n  Python Programming  \n\t"
trimmed_text = text.strip()
print(trimmed_text)  # Output: "Python Programming"

O que acontece se eu chamar .strip(), .lstrip() ou .rstrip() em uma string vazia?

Se você chamar esses métodos em uma string vazia, eles retornarão uma string vazia sem erros. Por exemplo:

text = ""
trimmed_text = text.strip()
print(trimmed_text)  # Output: ""
Temas

Continue aprendendo Python!

programa

Python Data Fundamentals

28hrs hr
Grow your data skills, discover how to manipulate and visualize data, and apply advanced analytics to make data-driven decisions.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
Data Skills

blog

6 práticas recomendadas de Python para um código melhor

Descubra as práticas recomendadas de codificação Python para escrever os melhores scripts Python da categoria.
Javier Canales Luna's photo

Javier Canales Luna

13 min

tutorial

Tutorial de strings em Python

Neste tutorial, você aprenderá tudo sobre as cadeias de caracteres do Python: fatiamento e encadeamento, manipulação e formatação com a classe Formatter, cadeias de caracteres f, modelos e muito mais!
Sejal Jaiswal's photo

Sejal Jaiswal

16 min

tutorial

Formatação de f-string em Python

Saiba mais sobre a técnica de formatação f-string no Python 3.6. Neste tutorial, você verá as vantagens que ele oferece e verá alguns exemplos de casos de uso.
Hafeezul Kareem Shaik's photo

Hafeezul Kareem Shaik

5 min

tutorial

Operadores em Python

Este tutorial aborda os diferentes tipos de operadores em Python, sobrecarga de operadores, precedência e associatividade.
Théo Vanderheyden's photo

Théo Vanderheyden

9 min

tutorial

Tutorial de Python

Em Python, tudo é objeto. Números, cadeias de caracteres (strings), DataFrames, e até mesmo funções são objetos. Especificamente, qualquer coisa que você usa no Python tem uma classe, um modelo associado por trás.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Tutorial de funções Python

Um tutorial sobre funções em Python que aborda como escrever funções, como chamá-las e muito mais!
Karlijn Willems's photo

Karlijn Willems

14 min

Ver maisVer mais