Pular para o conteúdo

Como usar a função str.contains do Python?

[

Como verificar se uma string em Python contém outra string

Se você precisa verificar se uma string contém outra string, o Python oferece um operador de associação chamado “in”. Este é o método recomendado para confirmar a existência de uma substring em uma string.

Para ilustrar como utilizar o operador “in”, vamos considerar o seguinte exemplo:

raw_file_content = "Olá, seja bem-vindo! Esta é uma string de exemplo."
substring = "exemplo"
if substring in raw_file_content:
print("A string contém a substring.")
else:
print("A string não contém a substring.")

Neste exemplo, a variável “raw_file_content” representa a string original e a variável “substring” representa a substring que queremos procurar. Utilizando o operador “in”, verificamos se a substring está contida na string original. Caso esteja, exibimos uma mensagem indicando que a string contém a substring. Caso contrário, exibimos uma mensagem informando que a string não contém a substring.

É importante ressaltar que o operador “in” retorna um valor booleano: “True” se a substring for encontrada e “False” se não for encontrada. Isso nos permite utilizar essa informação em estruturas condicionais para tomar decisões em nosso código.

Além disso, também podemos utilizar o operador “not in” para verificar se a string não contém uma determinada substring. O uso do “not in” é semelhante ao uso do “in”, porém o resultado é negado. Veja o exemplo abaixo:

if substring not in raw_file_content:
print("A string não contém a substring.")
else:
print("A string contém a substring.")

Neste caso, o bloco de código será executado caso a substring não esteja contida na string original.

Generalizando a verificação removendo a sensibilidade à caixa

Em muitos casos, pode ser necessário realizar a verificação sem considerar a sensibilidade à caixa (maiúsculas ou minúsculas). Felizmente, o Python fornece métodos para tratar essa situação.

Se quisermos fazer uma verificação case-insensitive, podemos converter tanto a string original quanto a substring para letras minúsculas (ou maiúsculas) antes de realizar a verificação. Veja o exemplo abaixo:

raw_file_content = "Olá, seja bem-vindo! Esta é uma string de exemplo."
substring = "EXEMPLO"
if substring.lower() in raw_file_content.lower():
print("A string contém a substring.")
else:
print("A string não contém a substring.")

Neste exemplo, utilizamos o método “lower()” para converter tanto a string original quanto a substring para letras minúsculas antes de realizar a verificação. Isso nos permite realizar uma verificação sem considerar a diferença entre maiúsculas e minúsculas.

Aprendendo mais sobre a substring

Em alguns casos, podemos precisar obter informações adicionais sobre a substring encontrada na string original. Felizmente, o Python possui vários métodos que nos ajudam a lidar com essa situação.

Por exemplo, podemos utilizar o método “find()” para obter o índice (posição) da primeira ocorrência da substring na string original. Veja o exemplo abaixo:

raw_file_content = "Olá, seja bem-vindo! Esta é uma string de exemplo."
substring = "exemplo"
index = raw_file_content.find(substring)
if index != -1:
print(f"A substring foi encontrada na posição {index}.")
else:
print("A substring não foi encontrada na string.")

Neste exemplo, utilizamos o método “find()” para encontrar a primeira ocorrência da substring na string original. Caso a substring seja encontrada, o método retorna o índice (posição) onde a primeira ocorrência começa. Caso a substring não seja encontrada, o método retorna o valor -1. Utilizamos uma estrutura condicional para imprimir a mensagem adequada de acordo com o resultado da busca.

Além do método “find()”, o Python oferece outros métodos úteis para manipular substrings, como “count()”, “replace()”, “split()”, entre outros. Vale a pena explorar a documentação oficial do Python para conhecer todas as opções disponíveis.

Encontrando uma substring em uma coluna de um DataFrame do pandas

Se estivermos trabalhando com dados tabulares utilizando o pandas, podemos utilizar métodos específicos da biblioteca para encontrar substrings em colunas de um DataFrame.

Por exemplo, suponha que tenhamos um DataFrame chamado “data” que possui uma coluna chamada “texto”. Para encontrar substrings nessa coluna, podemos utilizar o método “str.contains()” do pandas. Veja o exemplo abaixo:

import pandas as pd
data = pd.DataFrame({"texto": ["Olá, seja bem-vindo!", "Esta é uma string de exemplo."]})
substring = "exemplo"
filtered_data = data[data["texto"].str.contains(substring)]
print(filtered_data)

Neste exemplo, criamos um DataFrame chamado “data” com uma coluna chamada “texto”. Utilizamos o método “str.contains()” para verificar se a substring está presente em cada elemento da coluna “texto”. Em seguida, utilizamos o resultado da verificação para filtrar o DataFrame e obter apenas as linhas que contêm a substring. Por fim, imprimimos o DataFrame resultante.

Essas são algumas maneiras de verificar se uma string em Python contém uma determinada substring. Lembre-se de que o operador “in” é a forma mais Pythonica de realizar essa verificação, mas o Python também oferece outros métodos e recursos para lidar com diferentes situações.