Pular para o conteúdo principal

Como cortar uma string em Python: Três métodos diferentes

Aprenda o básico sobre como cortar caracteres à esquerda e à direita de uma string em Python.
Atualizado 5 de ago. de 2025  · 6 min lido

Cortar texto é uma tarefa essencial quando se lida com dados de texto em Python, principalmente nas fases de limpeza e preparação de dados em projetos de ciência de dados. O corte ajuda a tirar caracteres indesejados, como espaços em branco, do começo e do fim das sequências de caracteres, deixando seus dados mais consistentes e prontos para análise.

Neste tutorial, vou te mostrar os três principais métodos para cortar strings em Python: .strip(), .lstrip() e .rstrip(), e vou falar sobre casos específicos de uso para mostrar como eles são versáteis e úteis em situações reais.

3 métodos para cortar uma string em Python

O Python tem métodos embutidos pra cortar strings, o que facilita a limpeza e o pré-processamento de dados textuais. Esses métodos incluem

  • .strip(): Tira os caracteres no começo e no fim (espaços em branco por padrão).
  • .lstrip(): Tira os caracteres do começo (espaços em branco por padrão) do lado esquerdo da string.
  • .rstrip(): Tira os caracteres que ficam no final (espaços em branco por padrão) do lado direito da string.

Entender esses métodos permite uma manipulação e preparação eficiente do texto, o que é essencial para qualquer tarefa de ciência de dados que envolva dados textuais.

1. Removendo espaços em branco no início e no final de strings em Python usando .strip()

O método .strip() foi feito pra tirar os caracteres do começo e do fim de uma string. É mais usado pra tirar 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 é super útil pra padronizar strings que podem ter espaços em branco no começo e no final.

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

O método .lstrip() pega o lado esquerdo de uma string e tira os caracteres do começo. Por padrão, ele tira os espaços em branco, mas dá pra configurar pra tirar caracteres específicos. Aqui tá o método .lstrip() aplicado na mesma string " 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 strings que começam com espaços ou caracteres indesejados, como em listas de nomes ou dados categóricos.

3. Removendo espaços em branco no final das strings em Python usando .rstrip()

O método .rstrip() complementa o método .lstrip() removendo os caracteres finais do lado direito de uma string. Ele tem a mesma flexibilidade de escolher quais caracteres você quer tirar. Aqui está 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() quando estiver lidando com strings que têm caracteres indesejados ou espaços no final, como pontuação ou anotações.

Removendo caracteres específicos de uma string em Python

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

Mas, como vamos ver nos nossos exemplos, é importante saber que esses métodos têm suas limitações: eles não conseguem tirar caracteres do meio das strings nem lidar com remoções mais complexas baseadas em padrões. Pra necessidades mais avançadas, as expressões regulares (regex) são 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 só espaços em branco, mas também caracteres específicos das duas extremidades de uma string. Aqui vai 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 é, na verdade, "xxxyyy I love learning Python xxxyyy". Como ”xxx” e ”yyy” estão no começo e no fim da string, dá pra tirar os dois 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 "

Como já falamos antes, é super importante entender que .strip() não consegue tirar caracteres do meio da string. Por exemplo, se o texto que estamos removendo for "!!!I love learning!!! Python!!!", o resultado da operação acima seria ”I love learning!!! Python”. Para operações de remoção mais complexas, é melhor dar uma olhada nas expressões regulares em vez dos métodos strip descritos neste tutorial.

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

O mesmo vale para os métodos .lstrip() e .rstrip(). Abaixo estão alguns exemplos de como tirar caracteres específicos no começo e no fim em .lstrip() e .rstrip(), respectivamente:

text = "!!!I love learning Python!!!"

left_char_trimmed = text.lstrip('!')
print(left_char_trimmed)  # Output: "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"

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 trouxe str.removeprefix() e str.removesuffix(), que tiram prefixos ou sufixos conhecidos de forma explícita.

Removendo um prefixo usando removeprefix()

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

Removendo um sufixo usando removesuffix()

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

Considerações sobre desempenho para cortar strings

Quando você tá trabalhando com conjuntos de dados grandes, é importante cortar strings de forma eficiente. .strip(), .lstrip() e .rstrip() funcionam com complexidade de tempo O(n). Mas, pra conjuntos de dados enormes, usar 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

Entender o que é o corte e a manipulação de strings é essencial pra programar bem em Python. Enquanto os métodos .strip(), .lstrip() e .rstrip() atendem às necessidades básicas, lidar com cenários mais complexos pode exigir um mergulho nas expressões regulares. Para saber mais, dá uma olhada no nosso tutorial sobre expressões regulares ou, melhor ainda, começa a aprender com o programa de habilidades em processamento de linguagem natural em Python da 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() pra tirar caracteres numéricos de uma string?

Sim, você pode escolher números como o que quer tirar. Por exemplo:

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

Como .strip(), .lstrip() e .rstrip() lidam com strings com espaços em branco misturados, tipo tabulações ou novas linhas?

Por padrão, esses métodos removem todos os tipos de espaços 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 rola se eu chamar .strip(), .lstrip() ou .rstrip() em uma string vazia?

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

text = ""
trimmed_text = text.strip()
print(trimmed_text)  # Output: ""
Tópicos

Continue aprendendo Python!

Programa

Fundamentos de dados Python

0 min
Aumente suas habilidades com dados, descubra como manipular e visualizar dados e aplique análises avançadas para tomar decisões orientadas por dados.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

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

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

Tutorial

Função Python Print()

Saiba como você pode aproveitar os recursos de uma simples função Python Print de várias maneiras com a ajuda de exemplos.
Aditya Sharma's photo

Aditya Sharma

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

Ver maisVer mais