Pular para o conteúdo

Verificar se uma string contém um substring no Python

[

Como Confirmar se uma String em 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, essa é a maneira recomendada de confirmar a existência de uma substring em uma string.

Definição do Problema

Identificar essas substrings é útil quando você está trabalhando com conteúdo de texto de um arquivo ou depois de receber uma entrada do usuário. Você pode querer executar ações diferentes em seu programa, dependendo se uma substring está presente ou não.

Abordagem Proposta

Neste tutorial, você se concentrará na maneira mais Pythonica de lidar com essa tarefa, usando o operador de associação in. Além disso, você aprenderá como identificar os métodos de string corretos para casos de uso relacionados, mas diferentes.

Você verá como usar o operador in para verificar se uma string contém uma substring e como negar essa verificação usando not in.

A seguir, você aprenderá como generalizar sua verificação removendo a sensibilidade a maiúsculas e minúsculas usando o método lower. Além disso, você verá como verificar se uma string contém várias substrings usando a função all do Python.

Por fim, você aprenderá sobre os métodos find e count de strings, que são úteis quando você precisa encontrar a posição ou contar o número de ocorrências de uma substring em uma string.

Como Confirmar que uma String Contém Outra String

Se você precisa verificar se uma string contém uma substring, use o operador de associação in. Este é o exemplo de código que você pode usar para verificar a existência de uma substring em uma string:

raw_file_content = "Hi there and welcome. This is a special hidden file with a SECRET secret. I don't want to tell you The Secret, but I do want to secretly tell you that I have one."
if "secret" in raw_file_content:
print("Encontrado!")

Quando você usa 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.

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

Se você quiser verificar se a substring está presente na string, independentemente de estar em maiúsculas ou minúsculas, você pode usar o método lower para converter ambas as strings em minúsculas antes de fazer a comparação:

if "secret" in raw_file_content.lower():
print("Encontrado independentemente das letras maiúsculas ou minúsculas!")

Verifique se uma String Contém várias Substrings

Se você tiver várias substrings que deseja verificar em uma string, poderá usar a função all do Python, juntamente com uma comprehension de lista, para iterar por todas as substrings e verificar se todas estão presentes na string:

substrings = ["secret", "hidden", "special"]
if all(substring in raw_file_content for substring in substrings):
print("Todas as substrings estão presentes!")

Aprenda Mais Sobre a Substring

Se você estiver trabalhando com Python 3.7 ou posterior, também poderá usar o método contains de uma string para verificar se uma substring está presente. Este método retornará True se a substring estiver presente na string e False caso contrário:

if raw_file_content.__contains__("secret"):
print("Encontrado!")

Encontre uma Substring em uma Coluna de DataFrame do pandas

Se você estiver trabalhando com dados em um DataFrame do pandas e precisar pesquisar substrings em uma coluna, poderá usar o método str.contains do pandas. Este método retorna um objeto booleano que indica se a substring está presente em cada elemento da coluna:

import pandas as pd
data = {"coluna": ["Hi there", "Welcome", "Python is great"]}
df = pd.DataFrame(data)
if df["coluna"].str.contains("Python").any():
print("Substring encontrada!")

Key Takeaways

Neste tutorial, você aprendeu como verificar se uma string contém uma substring em Python. Usando o operador in, você pode verificar a existência de uma substring em uma string de maneira rápida e legível. Você também viu como generalizar sua verificação para remover a sensibilidade a maiúsculas e minúsculas. Além disso, aprendeu a verificar várias substrings em uma string usando a função all, bem como a encontrar substrings em colunas de um DataFrame do pandas. Essas técnicas podem ser úteis ao trabalhar com conteúdo de texto em Python.