Pular para o conteúdo

Como Usar o Python3 de Forma Fácil?

CodeMDD.io

Como Confirmar se uma String do Python Contém outra String

Se você precisa verificar se uma string contém uma substring, utilize o operador de associação in do Python. Em Python, esta é a maneira recomendada de confirmar a existência de uma substring em uma string:

raw_file_content = """Olá e bem-vindo.
Este é um arquivo especial oculto com um segredo SECRETO.
Eu não quero contar O Segredo para você,
mas quero secretamente dizer que eu tenho um."""
"segredo" in raw_file_content

O operador de associação in lhe dá uma maneira rápida e fácil de verificar se uma substring está presente em uma string. Você pode notar que a linha de código quase parece uma frase em inglês.

Observação: Se você deseja verificar se a substring não está na string, pode utilizar o not in:

"segredo" not in raw_file_content

Como a substring "segredo" está presente em raw_file_content, o operador not in retorna False.

Ao utilizar o in, a expressão retorna um valor booleano:

  • True se o Python encontrar a substring
  • False se o Python não encontrar a substring

Você pode usar essa sintaxe intuitiva em declarações condicionais para tomar decisões em seu código:

if "segredo" in raw_file_content:
print("Encontrado!")

Neste trecho de código, utilizamos o operador de associação para verificar se "segredo" é uma substring de raw_file_content. Se for, então será impressa uma mensagem no terminal.

Generalize sua Verificação Removendo a Sensibilidade a Maiúsculas e Minúsculas

Em alguns casos, você pode querer realizar a verificação de uma substring sem diferenciar entre letras maiúsculas e minúsculas. Para isso, você pode converter tanto a string original quanto a substring para letras minúsculas ou maiúsculas antes da verificação. Veja um exemplo:

raw_file_content = """Olá e bem-vindo.
Este é um arquivo especial oculto com um segredo SECRETO.
Eu não quero contar O Segredo para você,
mas quero secretamente dizer que eu tenho um."""
substring = "seCReTo"
if substring.lower() in raw_file_content.lower():
print("Encontrado!")

Neste caso, convertemos tanto a string original raw_file_content quanto a substring substring para letras minúsculas antes de executar a verificação. Isso nos permite realizar uma comparação de forma insensível a maiúsculas e minúsculas e obter o resultado esperado.

Aprenda Mais Sobre a Substring

Existem várias formas de trabalhar com substrings em Python. Além do operador de associação in, podemos utilizar outros métodos de string para realizar tarefas específicas. A seguir, veremos alguns desses métodos e como utilizá-los.

Método str.find()

O método find() procura ocorrências da substring em uma string e retorna o índice da primeira ocorrência encontrada ou -1 se a substring não for encontrada. Veja um exemplo:

headline = "Python Tricks: How to Become a Pythonista"
substring = "Python"
index = headline.find(substring)
if index != -1:
print(f"A substring foi encontrada no índice {index}")

Neste exemplo, utilizamos o método find() para buscar a substring "Python" na string headline. Se a substring for encontrada, o método retorna o índice da primeira ocorrência. Caso contrário, retorna -1.

Método str.count()

O método count() conta quantas vezes a substring aparece em uma string. Veja um exemplo:

sentence = "I love programming in Python, it's the best!"
substring = "Python"
count = sentence.count(substring)
print(f"A substring foi encontrada {count} vezes")

Neste exemplo, utilizamos o método count() para contar quantas vezes a substring "Python" aparece na string sentence. O método retorna o número de ocorrências encontradas.

Método str.startswith() e str.endswith()

Os métodos startswith() e endswith() verificam se uma string começa ou termina com uma determinada substring. Veja um exemplo:

filename = "tutorial.py"
if filename.startswith("tutorial"):
print("O arquivo é um tutorial")
if filename.endswith(".py"):
print("O arquivo é um script Python")

Neste exemplo, utilizamos o método startswith() para verificar se a string filename começa com a substring "tutorial". Também utilizamos o método endswith() para verificar se a string filename termina com a substring ".py". Dependendo do resultado da verificação, uma mensagem adequada é impressa no terminal.

Localizando uma Substring com Condições usando Regex

Em algumas situações, você pode precisar localizar uma substring que atenda a determinadas condições específicas. Para isso, você pode utilizar expressões regulares (regex) em Python. Veja um exemplo:

import re
text = "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
# Localiza todas as palavras com 5 letras
matches = re.findall(r'\b\w{5}\b', text)
print("Palavras encontradas:")
for match in matches:
print(match)

Neste exemplo, utilizamos a biblioteca re para trabalhar com expressões regulares. A função findall() encontra todas as palavras com exatamente 5 letras na string text. As palavras encontradas são impressas no terminal.

Localizando uma Substring em uma Coluna do pandas DataFrame

Ao trabalhar com dados tabulares, é comum utilizar a biblioteca pandas para carregar os dados em um DataFrame. Para localizar substrings em uma coluna do DataFrame, podemos utilizar o método str.contains(). Veja um exemplo:

import pandas as pd
data = {
'name': ['John', 'Alice', 'Michael', 'Eve'],
'email': ['john@example.com', 'alice@example.com', 'michael@example.com', 'eve@example.com']
}
df = pd.DataFrame(data)
# Verifica se o nome contém a substring "ic"
contains_substring = df['name'].str.contains("ic")
print(df[contains_substring])

Neste exemplo, criamos um DataFrame a partir de um dicionário de dados utilizando a biblioteca pandas. Em seguida, utilizamos o método str.contains() na coluna 'name' para verificar se cada valor contém a substring "ic". O resultado do filtro é impresso no terminal.

Conclusão

Neste tutorial, você aprendeu como verificar se uma string do Python contém uma substring. Utilizando o operador de associação in, você pode facilmente realizar essa verificação. Além disso, exploramos outros métodos de string que podem ser úteis para tarefas específicas, como encontrar o índice de uma substring, contar o número de ocorrências e verificar se uma string começa ou termina com uma determinada substring. Também discutimos o uso de expressões regulares para realizar verificações mais complexas e a utilização do pandas para localizar substrings em colunas de DataFrames.

Agora você tem as ferramentas necessárias para realizar verificações de substring em suas aplicações Python. Experimente aplicar esses conceitos em seus próprios projetos!