DEV Community

Josafá Marengo
Josafá Marengo

Posted on • Originally published at josafa.com.br on

23 métodos de strings que todo desenvolvedor Python deve saber

Antes de mergulhar nas funções de strings em Python, é essencial que você esteja bem familiarizado com a definição exata do que é uma string.

Em termos simples, uma string é um tipo de dado usado para descrever conteúdo textual em vez de números em diferentes linguagens de programação. Ela é principalmente composta por uma coleção pré-definida de caracteres, incluindo espaços em branco e dígitos numéricos, e é geralmente delimitada por aspas simples ou duplas para destacá-la durante a execução de um programa.

As literais de string em Python não têm um limite máximo de comprimento e dependem apenas dos recursos de memória do seu computador.

Em Python, índices podem ser usados para acessar caracteres individuais em uma string. Também é permitido aos usuários acessar caracteres em uma string usando referências de endereço positivas e negativas, o que é único. Índices positivos concedem acesso a caracteres a partir do início da string, enquanto índices negativos permitem acessar caracteres a partir do final.

O tipo de dado string em Python vem com um grande conjunto de métodos pré-definidos. Essas funções permitem modificar e trabalhar com literais de string em Python de forma fácil.

Por exemplo, se você deseja converter cada caractere de sua string para minúsculas , existe uma maneira melhor de fazer isso do que iterar por cada caractere da string.

Isso pode ser facilmente alcançado em uma única linha usando o método lower() em Python, que realiza exatamente a mesma tarefa. É assim que esses métodos são úteis na vida real.

Este artigo se concentrará nos principais métodos de string incorporados em Python, com aplicações surpreendentemente úteis na manipulação de strings em estruturas de dados e algoritmos.

1. len

Usado para contar o número total de caracteres em uma string.

Sintaxe:

len(<string>)
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "Quantos caracteres tem aqui?"

print(len(texto))
# 28
Enter fullscreen mode Exit fullscreen mode

2. capitalize

O método capitalize() retorna uma nova string modificada, convertendo o primeiro caractere da string original em maiúsculo e os demais em minúsculos.

Sintaxe:

<string>.capitalize()
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "tExtO a Ser alTeRado"

print(texto.capitalize())
# Texto a ser alterado
Enter fullscreen mode Exit fullscreen mode

3. upper

Retorna uma nova string com todos os caracteres maiúsculos.

Sintaxe:

<string>.upper()
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "texto para deixar em caixa alta"

print(texto.upper())
# TEXTO PARA DEIXAR EM CAIXA ALTA
Enter fullscreen mode Exit fullscreen mode

4. lower

Retorna uma nova string com todos os caracteres minúsculos.

Sintaxe:

<string>.lower()
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "TEXTO PARA DEIXAR EM minúsculas"

print(texto.lower())
# texto para deixar em minúsculas
Enter fullscreen mode Exit fullscreen mode

5. count

O método count() é usado para contar quantas vezes uma determinada string aparece em um texto.

Sintaxe:

string.count(texto_de_busca)

string.count(texto_de_busca, início)

string.count(texto_de_busca, início, fim)
Enter fullscreen mode Exit fullscreen mode

Este método possui três argumentos. O primeiro argumento é obrigatório, e os outros dois argumentos são opcionais. O primeiro argumento contém o valor que precisa ser procurado no texto. O segundo argumento contém a posição de início da busca, e o terceiro argumento contém a posição de fim da busca.

Exemplo:

O seguinte script mostra os três usos diferentes do método count(). O primeiro método irá procurar a palavra ‘é’ na variável strVal. O segundo método procura a mesma palavra a partir da posição 20. O terceiro método procura a mesma palavra dentro do intervalo da posição 50 a 100.


strVal = 'Python é uma linguagem de programação poderosa. É muito simples de usar. É uma excelente linguagem para iniciantes aprenderem programação.'

print("A palavra 'é' apareceu %d vezes" %(strVal.count("é")))
# A palavra 'é' apareceu 1 vezes

print("A palavra 'é' apareceu %d vezes após a posição 20" %(strVal.count("é", 20)))
# A palavra 'é' apareceu 0 vezes após a posição 20

print("A palavra 'é' apareceu %d vezes dentro do intervalo de 50 a 100" %(strVal.count("é", 50, 100)))
# A palavra 'é' apareceu 0 vezes dentro do intervalo de 50 a 100
Enter fullscreen mode Exit fullscreen mode

6. find

Retorna a posição/índice da primeira ocorrência de uma substring em uma determinada string. Caso contrário, ele retorna -1.

Sintaxe:

find(texto_de_busca)

find(texto_de_busca, posição_inicial)

find(texto_de_busca, posição_inicial, posição_final)
Enter fullscreen mode Exit fullscreen mode

Este método pode receber três argumentos, onde o primeiro argumento é obrigatório e os outros dois argumentos são opcionais. O primeiro argumento contém o valor da string que será procurada, o segundo argumento define a posição de início da busca e o terceiro argumento define a posição de fim da busca. Ele retorna a posição do texto_de_busca se ele existir na string principal, caso contrário, retorna -1.

Exemplo:

Os usos do método find() com um argumento, dois argumentos e três argumentos são mostrados no seguinte script. A primeira saída será -1 porque o texto de busca é ’ python ’ e a variável, str , contém a string ’ Python ’. A segunda saída retornará uma posição válida porque a palavra ’ program ’ existe após a posição 10. A terceira saída retornará uma posição válida porque a palavra ’ earn ’ existe dentro do intervalo de 0 a 5 da string.

str = 'Aprenda programação em Python'

print(str.find('python'))
# -1

print(str.find('Python'))
# 23

print(str.find('program', 8))
# 8

print(str.find('Python', 0, 5))
# -1

Enter fullscreen mode Exit fullscreen mode

7. rfind

Em Python, o método rfind() é usado para encontrar a última ocorrência de uma substring. Ele funciona de maneira semelhante ao método find(), mas começa a busca do final da string em direção ao início. Se a substring for encontrada, o método retorna a posição da última ocorrência. Caso contrário, ele retorna -1.

Sintaxe:

string.rfind(substring)

string.rfind(substring, início)

string.rfind(substring, início, fim)

Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "Python é uma linguagem de programação Python."

# Encontrar a última ocorrência de "Python"
posicao = texto.rfind("Python")
print("Posição da última ocorrência de 'Python':", posicao)
# Posição da última ocorrência de 'Python': 38

# Começar a busca a partir da posição 20
posicao = texto.rfind("Python", 20)
print("Posição da última ocorrência de 'Python' a partir da posição 20:", posicao)
# Posição da última ocorrência de 'Python' a partir da posição 20: 38

# Limitar a busca até a posição 25
posicao = texto.rfind("Python", 0, 25)
print("Posição da última ocorrência de 'Python' até a posição 25:", posicao)
# Posição da última ocorrência de 'Python' até a posição 25: 0

Enter fullscreen mode Exit fullscreen mode

8. startswith

Verifica se uma determinada string começa com um prefixo específico ou não, e retorna verdadeiro ou falso.

Sintaxe:

<string>.startswith(substring)
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "Sobremesa"
texto.startswith("Sobre")
# True
texto.startswith("sobre")
# False
Enter fullscreen mode Exit fullscreen mode

9. endswith

Verifica se uma determinada string termina com um sufixo específico ou não, e retorna verdadeiro ou falso.

Sintaxe:

<string>.endswith(substring)
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "constitucionalissimamente"
texto.endswith("Mente")
# False
texto.endswith("mente")
# True
Enter fullscreen mode Exit fullscreen mode

10. index

O método index() funciona como o método find(), mas há uma única diferença entre esses métodos. Ambos os métodos retornam a posição do texto de busca se a string existir na string principal. Se o texto de busca não existir na string principal, o método find() retorna -1, mas o método index() gera um ValueError.

Sintaxe:

<string>.index(texto_de_busca [, início [, fim]])
Enter fullscreen mode Exit fullscreen mode

Este método possui três argumentos. O primeiro argumento é obrigatório e contém o texto de busca. Os outros dois argumentos são opcionais e contêm a posição de início e fim da busca.

Exemplo:

O método index() é usado quatro vezes no seguinte script. Um bloco try-except é usado aqui para lidar com o ValueError. O método index() é usado com um argumento na primeira saída, que buscará a palavra ’ powerful ’ na variável strVal. Em seguida, o método index() buscará a palavra ’ program ’ a partir da posição 10 que existe em strVal. Em seguida, o método buscará a palavra ’ is ’ na posição 5 a 15. O último método index() buscará a palavra ’ his ’ em 025 , que não existe em strVal.

strVal = 'Python é uma linguagem de programação poderosa.'

try:
    print(strVal.index('poderosa'))
        # 38

    print(strVal.index('programação', 10))
        # 26

    print(strVal.index('é', 5, 15))
        # 7

    print(strVal.index('uma', 0, 25))
        # A string de busca não foi encontrada

except ValueError:
    print("A string de busca não foi encontrada")

Enter fullscreen mode Exit fullscreen mode

11. split

Este método é usado para dividir qualquer dado de string com base em um separador ou delimitador específico. Ele pode receber dois argumentos, ambos são opcionais.

Sintaxe:

<string>.split()

<string>.split(separador)

<string>.split(separador, maxsplit=maxsplit)
Enter fullscreen mode Exit fullscreen mode

Se este método for usado sem nenhum argumento, o espaço será usado como separador por padrão. Qualquer caractere ou uma lista de caracteres pode ser usado como separador. O segundo argumento opcional é usado para definir o limite de vezes que a string será dividida. Ele retorna uma lista de strings.

Exemplo:

s1 = 'string methods in python programming language'.split()
# ['string', 'methods', 'in', 'python']

s2 = 'string methods in python programming language'.split(' ', maxsplit=1)
# ['string', 'methods in python']
Enter fullscreen mode Exit fullscreen mode

12. rsplit

Assim como o método split , o rsplit é usado para dividir qualquer dado de string com base em um separador ou delimitador específico. Ele também pode receber dois argumentos, e ambos são opcionais.

Sintaxe:

<string>.rsplit()

<string>.rsplit(separador)

<string>.rsplit(separador, maxsplit=maxsplit)
Enter fullscreen mode Exit fullscreen mode

Exemplo:

s = 'string methods in python'.rsplit()
# ['string', 'methods', 'in', 'python']

s = 'string methods in python'.rsplit(' ', maxsplit=1)
# ['string methods in', 'python']

Enter fullscreen mode Exit fullscreen mode

13. join

O método join() é usado para criar uma nova string combinando outras strings com uma string, lista de strings ou tupla de strings.

Sintaxe:

separador.join(iterável)
Enter fullscreen mode Exit fullscreen mode

Ele possui apenas um argumento que pode ser uma string, uma lista ou uma tupla, e o separador contém o valor da string que será usado para a concatenação.

Exemplo:

O método strip() é usado para remover espaços em branco de ambos os lados de uma string.

nomes = ["Alice", "Bob", "Charlie", "David"]

nomes_formatados = ", ".join(nomes)

print("Lista de nomes formatada:", nomes_formatados)
# Lista de nomes formatada: Alice, Bob, Charlie, David
Enter fullscreen mode Exit fullscreen mode

13. strip

O método strip() é usado para remover espaços em branco de ambos os lados de uma string. Este método não aceita nenhum argumento.

Sintaxe:

<string>.strip()

<string>.rStrip()
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = " Texto com espaço em branco no início e no fim. "

texto.strip()
# "Texto com espaço em branco no início e no fim."
Enter fullscreen mode Exit fullscreen mode

14. lstrip

O método lstrip() remove o espaço em branco do lado esquerdo.

Sintaxe:

<string>.lstrip()
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = " Texto com espaço em branco no início e no fim. "

texto.lstrip()
# "Texto com espaço em branco no início e no fim. "
Enter fullscreen mode Exit fullscreen mode

15. rstrip

O método rstrip() remove o espaço em branco do lado direito da string.

Sintaxe:

<string>.rstrip()
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = " Texto com espaço em branco no início e no fim. "

texto.rstrip()
# " Texto com espaço em branco no início e no fim."
Enter fullscreen mode Exit fullscreen mode

16. removeprefix

O método removeprefix em Python é usado para remover um prefixo especificado de uma string. Se a string começa com o prefixo, o prefixo é removido; caso contrário, a string original é mantida inalterada.

Sintaxe:

<string>.removeprefix(substring)
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "Python é ótimo"
resultado = texto.removeprefix("Python é ")
print(resultado)  
# "ótimo"
Enter fullscreen mode Exit fullscreen mode

17. removesuffix

O método removesuffix em Python é utilizado para remover um sufixo específico de uma string. Se a string terminar com o sufixo, esse sufixo é removido; caso contrário, a string original permanecerá inalterada.

Sintaxe:

<string>.removesufix(substring)
Enter fullscreen mode Exit fullscreen mode

Exemplo:

texto = "O inverno está chegando."
resultado = texto.removesuffix(" está chegando.")
print(resultado)  
# "O inverno"
Enter fullscreen mode Exit fullscreen mode

18. replace

O método replace() é usado para substituir uma parte específica de uma cadeia de caracteres por outra cadeia, se a correspondência for encontrada. Ele pode receber três argumentos, sendo dois obrigatórios e um opcional.

Sintaxe:

<string>.replace(string_de_busca, string_de_substituição [,limite])
Enter fullscreen mode Exit fullscreen mode

O primeiro argumento é a string de busca que você deseja substituir, e o segundo argumento é a string de substituição. O terceiro argumento opcional define o limite para a substituição da string.

Exemplo:

No script a seguir, o primeiro replace é usado para substituir a palavra ’ PHP ’ pela palavra ’ Java ’ no conteúdo da variável str. Como a palavra de busca existe na variável str , a palavra ’ PHP ’ será substituída pela palavra ’ Java ’. O terceiro argumento do método replace é usado no próximo replace e ele substituirá apenas a primeira correspondência da palavra de busca.


texto = "Eu gosto de PHP, mas eu gosto mais de Python"

substituicao = texto.replace("PHP", "Java")

print("String original:", texto)
# String original: Eu gosto de PHP, mas eu gosto mais de Python

print("String substituída:", substituicao)
# String substituída: Eu gosto de Java, mas eu gosto mais de Python

substituicao_2 = texto.replace("gosto", "não gosto", 1)

print("\nString original:", texto)
# String original: Eu gosto de PHP, mas eu gosto mais de Python

print("String substituída:", substituicao_2)
# String substituída: Eu não gosto de PHP, mas eu gosto mais de Python
Enter fullscreen mode Exit fullscreen mode

19. format

O método format() é um método essencial em Python para gerar saída formatada. Ele tem muitos usos e pode ser aplicado tanto a dados de tipo string quanto numéricos para gerar uma saída formatada. Como este método pode ser usado para formatação baseada em índice de dados de tipo string é mostrado no exemplo a seguir.

Sintaxe:

{}.format(valor)
Enter fullscreen mode Exit fullscreen mode

A string e a posição do marcador são definidas dentro das chaves ({}). Ele retorna a string formatada com base na string e nos valores passados na posição do marcador.

Exemplo:

Os quatro tipos de formatação são mostrados no script a seguir. No primeiro resultado, o valor do índice {0} é usado. Nenhuma posição é atribuída no segundo resultado. Duas posições sequenciais são atribuídas no terceiro resultado. Três posições não ordenadas são definidas no quarto resultado.

# Exemplo 1: Substituição direta com índice
print("Aprenda a programar em {0}.".format("Python"))
# Aprenda a programar em Python.

# Exemplo 2: Substituição sem especificar índices
print("\nTanto {} quanto {} são linguagens de script".format("Bash", "Python"))
# Tanto Bash quanto Python são linguagens de script

# Exemplo 3: Substituição com índices
print("\nID do estudante: {0}\nNome do estudante: {1}\n".format("00001", "João Ninguém"))
# ID do estudante: 00001
# Nome do estudante: João Ninguém
Enter fullscreen mode Exit fullscreen mode

20. center

Retorna uma string centralizada em um comprimento especificado. O preenchimento é feito usando o caractere especificado (o padrão é um espaço).

Sintaxe:

<string>.center(width [, char])
Enter fullscreen mode Exit fullscreen mode

Exemplo:

s = 'Python é incrível!'
s = s.center(30, '-')
# ------Python é incrível!------
Enter fullscreen mode Exit fullscreen mode

21. ljust

Retorna a string justificada à esquerda em uma string de comprimento especificado. O preenchimento é feito usando o caractere especificado (o padrão é um espaço).

Sintaxe:

<string>.ljust(width [, char])
Enter fullscreen mode Exit fullscreen mode

Exemplo:

s = 'Python é incrível!'
s = s.ljust(30, '-')
# Python é incrível!------------
Enter fullscreen mode Exit fullscreen mode

22. rjust

Retorna a string justificada à direita em uma string de comprimento especificado. O preenchimento é feito usando o caractere especificado (o padrão é um espaço).

Sintaxe:

<string>.rjust(width [, char])
Enter fullscreen mode Exit fullscreen mode

Exemplo:

s = 'Python é incrível!'
s = s.rjust(30, '-')
# ------------Python é incrível!
Enter fullscreen mode Exit fullscreen mode

23. partition

Em Python, o método de string partition() procura por uma substring específica dentro de uma string e divide a string original em uma tupla contendo três elementos.

  • O primeiro elemento contém uma parte da string antes da substring especificada.
  • O segundo elemento contém a substring especificada.
  • O terceiro elemento contém a parte restante após a substring.

Sintaxe:

<string>.partition(substring)
Enter fullscreen mode Exit fullscreen mode

Exemplo:

frase = "O gato persegue o rato no jardim."
substring = "rato"
resultado = frase.partition(substring)
print(resultado)
# ["O gato persegue o ", "rato", " no jardim."]
Enter fullscreen mode Exit fullscreen mode

Em resumo, dominar os métodos de strings em Python é uma habilidade essencial para qualquer programador, pois permite a manipulação eficaz de texto, desempenhando um papel crítico em diversas áreas, desde análise de texto até desenvolvimento web. Conhecer essas ferramentas não apenas melhora a eficiência e a legibilidade do código, mas também abre portas para a criatividade, possibilitando a criação de soluções inovadoras e a resolução de desafios complexos. Portanto, investir tempo no aprendizado e aprimoramento desses métodos é fundamental para se tornar um programador mais competente e versátil.

Resumo

Método Uso
len Conta o número total de caracteres em uma string.
capitalize Converte o primeiro caractere em maiúsculo e os demais em minúsculos.
upper Retorna uma nova string com todos os caracteres em maiúsculo.
lower Retorna uma nova string com todos os caracteres em minúsculo.
count Conta quantas vezes uma string específica aparece na string.
find Retorna a posição da primeira ocorrência de uma substring.
rfind Retorna a posição da última ocorrência de uma substring.
startswith Verifica se a string começa com um prefixo específico.
endswith Verifica se a string termina com um sufixo específico.
index Funciona como o método find(), mas gera um ValueError se não encontrar.
split Divide a string com base em um separador ou delimitador específico.
rsplit Divide a string com base em um separador ou delimitador específico, começando do final.
join Cria uma nova string combinando outras strings com um separador.
strip Remove espaços em branco de ambos os lados da string.
lstrip Remove espaços em branco do lado esquerdo da string.
rstrip Remove espaços em branco do lado direito da string.
removeprefix Remove um prefixo específico de uma string.
removesuffix Remove um sufixo específico de uma string.
replace Substitui uma parte específica de uma string por outra, se a correspondência for encontrada.
format Gera saída formatada com base em índice de dados de tipo string.
center Retorna uma string centralizada em um comprimento especificado.
ljust Retorna a string justificada à esquerda em um comprimento especificado.
rjust Retorna a string justificada à direita em um comprimento especificado.
partition Divide a string em uma tupla contendo três elementos com base em uma substring específica.

Top comments (0)