Pular para o conteúdo

Como usar a função Python if string contains?

[

Como Verificar se uma String em Python Contém Outra String

Se você precisa verificar se uma string contém outra string em Python, pode utilizar o operador de pertencimento in. Esse operador é a maneira recomendada de confirmar a existência de uma substring em uma string.

raw_file_content = """Oi, bem-vindo(a)...
Este é um arquivo especial com um segredo SECRETO.
Eu não quero te contar O Segredo,
mas eu quero secretamente te dizer que eu tenho um."""
"segredo" in raw_file_content

Exemplo completo de código:

raw_file_content = """Oi, bem-vindo(a)...
Este é um arquivo especial com um segredo SECRETO.
Eu não quero te contar O Segredo,
mas eu quero secretamente te dizer que eu tenho um."""
if "segredo" in raw_file_content:
print("Encontrado!")

Nesse exemplo, o operador in é utilizado para verificar se a substring “segredo” está presente na string raw_file_content. Se estiver, será impressa uma mensagem no terminal.

Você também pode usar o operador not in para verificar se a substring não está presente na string:

"segredo" not in raw_file_content

Esse operador retornará False porque a substring “segredo” está presente em raw_file_content.

O operador in retorna um valor booleano:

  • True se a substring for encontrada
  • False se a substring não for encontrada

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

Além disso, é possível generalizar essa verificação removendo a sensibilidade a maiúsculas e minúsculas. Isso permite que você verifique se a string contém uma substring independentemente da combinação de caracteres maiúsculos e minúsculos.

Python possui um método de string chamado lower() que pode ser utilizado para converter uma string para minúsculas antes de fazer a verificação.

raw_file_content.lower().find("segredo") != -1

Nesse caso, a função lower() é aplicada em raw_file_content antes de utilizar o método find() para encontrar a substring “segredo”. Se a substring for encontrada, o método find() retornará o índice da primeira ocorrência, caso contrário retornará -1.

Também é possível utilizar expressões regulares para encontrar uma substring com condições específicas. Python possui um módulo chamado re que facilita a utilização de expressões regulares.

import re
result = re.search(r"\bsegredo\b", raw_file_content)
if result:
print("Encontrado!")

Nesse exemplo, o método search() do módulo re é utilizado para encontrar a substring “segredo” que esteja delimitada por fronteiras de palavras (\b). Caso seja encontrada uma correspondência, o método retornará um objeto que pode ser avaliado como True.

No caso de estar trabalhando com um DataFrame do pandas e precisar encontrar uma substring em uma coluna específica, é possível utilizar o método str.contains().

import pandas as pd
df = pd.DataFrame({"texto": ["Python é uma linguagem de programação", "Java é outra linguagem de programação", "Ruby é uma linguagem web"]})
print(df[df["texto"].str.contains("Python")])

Esse exemplo demonstra como utilizar o método str.contains() para verificar se a coluna “texto” do DataFrame contém a substring “Python”. O resultado será um DataFrame filtrado contendo apenas as linhas que atendam ao critério de busca.

Principais pontos a serem lembrados:

  • O operador in é a maneira recomendada de verificar se uma string contém uma substring em Python.
  • Utilize not in para verificar se a substring não está presente na string.
  • Utilize o método lower() para remover a sensibilidade a maiúsculas e minúsculas.
  • Utilize expressões regulares com o módulo re para realizar buscas com condições específicas.
  • Utilize o método str.contains() do pandas para encontrar substrings em colunas específicas de um DataFrame.

Com essas técnicas, você poderá verificar se uma string contém outra string em Python e tomar as ações necessárias com base nos resultados da pesquisa.