Pular para o conteúdo

Como usar substring para encontrar palavras em Python?

CodeMDD.io

Como verificar se uma string Python contém outra string

Se você precisa verificar se uma string contém uma substring, use 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.

Passo 1: Crie uma variável que armazene a string original na qual você deseja procurar uma substring.

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

Passo 2: Use o operador in para verificar se a substring está presente na string original.

if "segredo" in raw_file_content:
print("Encontrado!")
else:
print("Não encontrado!")

Neste exemplo, se a substring “segredo” estiver presente na raw_file_content, a mensagem “Encontrado!” será impressa. Caso contrário, a mensagem “Não encontrado!” será impressa.

Você também pode usar o operador not in para verificar se a substring NÃO está presente na string original. Por exemplo:

if "segredo" not in raw_file_content:
print("Substring não encontrada!")

Essas instruções condicionais fornecem uma maneira fácil e legível de tomar decisões com base na presença ou ausência de uma substring em uma string.

Generalize sua verificação removendo a sensibilidade a maiúsculas e minúsculas

Se você quiser verificar se uma substring está presente em uma string, mas não quiser considerar a sensibilidade a maiúsculas e minúsculas, você pode usar o método lower() para tornar ambas as strings em letras minúsculas antes de fazer a verificação.

file_content = "Este é um arquivo com uma Substring MaiúScUla"
if "substring" in file_content.lower():
print("Encontrado!")
else:
print("Não encontrado!")

Neste exemplo, a função lower() é aplicada tanto à string original quanto à substring que você está procurando. Isso garante que as letras maiúsculas e minúsculas sejam tratadas como iguais. Em seguida, a verificação é feita usando o operador in normalmente.

Aprenda mais sobre a substring

Se você quiser saber mais informações sobre a substring, você pode usar o método find() para obter a posição da primeira ocorrência da substring na string original.

file_content = "Esta é uma string de exemplo com uma Substring"
substring_position = file_content.find("substring")
if substring_position != -1:
print(f"A substring foi encontrada na posição {substring_position}")
else:
print("A substring não foi encontrada")

Neste exemplo, o método find() retorna o índice da primeira ocorrência da substring na string original. Se a substring não for encontrada, o método find() retornará -1.

Encontre uma substring com condições usando regex

Se você precisa procurar uma substring em um formato específico ou com condições adicionais, você pode usar as expressões regulares (regex) em Python.

import re
file_content = "Este é um exemplo com uma data no formato ddhttps://codemdd.io/mmhttps://codemdd.io/aaaa."
pattern = r"\d{2}https://codemdd.io/\d{2}https://codemdd.io/\d{4}" # Expressão regular para procurar uma data no formato ddhttps://codemdd.io/mmhttps://codemdd.io/aaaa
matches = re.findall(pattern, file_content)
if matches:
print(f"Foram encontradas {len(matches)} ocorrências da substring com uma data no formato ddhttps://codemdd.io/mmhttps://codemdd.io/aaaa.")
else:
print("A substring com uma data no formato ddhttps://codemdd.io/mmhttps://codemdd.io/aaaa não foi encontrada.")

Neste exemplo, o método findall() do módulo re é usado para encontrar todas as ocorrências da substring que correspondem ao padrão especificado pela expressão regular. Se as correspondências forem encontradas, a mensagem indicando a quantidade de ocorrências será impressa. Caso contrário, a mensagem “A substring com uma data no formato ddhttps://codemdd.io/mmhttps://codemdd.io/aaaa não foi encontrada” será impressa.

Encontre uma substring em uma coluna do pandas DataFrame

Se você está trabalhando com dados em formato tabular e precisa pesquisar substrings em uma coluna específica, é recomendável usar o pandas DataFrame para carregar os dados e realizar a pesquisa.

import pandas as pd
data = {"Nome": ["João", "Maria", "José", "Ana"],
"Idade": [25, 30, 40, 35],
"Profissão": ["Programador", "Analista", "Gerente", "Engenheira"]}
df = pd.DataFrame(data)
# Procurar uma substring na coluna "Profissão"
substring = "Programador"
filtered_df = df[df["Profissão"].str.contains(substring)]
if filtered_df.empty:
print(f"Nenhuma ocorrência da substring '{substring}' encontrada na coluna 'Profissão'.")
else:
print("Ocorrências encontradas:")
print(filtered_df.to_string(index=False))

Neste exemplo, um DataFrame é criado a partir de um dicionário de dados, contendo informações sobre nomes, idades e profissões. A coluna “Profissão” é usada para pesquisar a substring “Programador”. O resultado da pesquisa é armazenado em um novo DataFrame chamado filtered_df. Se o DataFrame estiver vazio, a mensagem “Nenhuma ocorrência da substring ‘Programador’ encontrada na coluna ‘Profissão’” será impressa. Caso contrário, as ocorrências encontradas serão exibidas.

Dica: Você pode alterar a coluna em que deseja procurar a substring alterando a string "Profissão" para o nome da coluna desejada.

Conclusão

Neste tutorial, você aprendeu como verificar se uma string Python contém uma substring. Usando o operador de associação in, você pode verificar rapidamente se a substring está presente ou não. Além disso, você aprendeu como generalizar a verificação removendo a sensibilidade a maiúsculas e minúsculas, como obter mais informações sobre a substring com o método find() e como encontrar substrings em colunas de um pandas DataFrame. Agora você está pronto para aplicar esses conceitos em seus próprios projetos Python.