Como verificar facilmente se uma string contém uma substring em Python?
Como verificar se uma string em Python contém uma substring
Neste tutorial, você aprenderá a verificar se uma string em Python contém uma determinada substring. Essa habilidade é útil quando você está trabalhando com conteúdo de texto de um arquivo ou quando precisa lidar com entrada do usuário. Você pode querer realizar ações diferentes em seu programa, dependendo se uma substring está presente ou não.
A forma mais Pythonica de fazer essa verificação é usando o operador de pertencimento in
. Além disso, você aprenderá a identificar os métodos corretos de string para casos de uso relacionados, mas diferentes.
Como confirmar se uma string em Python contém outra string
Para verificar se uma string contém uma substring, use o operador de pertencimento in
do Python. É a forma recomendada de confirmar a existência de uma substring em uma string.
O operador in
fornece uma maneira rápida e legível 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.
Se você quiser verificar se a substring NÃO está presente na string, pode usar not in
:
Quando você usa in
, a expressão retorna um valor booleano:
True
se o Python encontrar a substringFalse
se o Python não encontrar a substring
Você pode usar esta sintaxe intuitiva em instruções condicionais para tomar decisões no seu código:
Nesse trecho de código, usamos o operador de pertencimento para verificar se a substring “segredo” está presente em raw_file_content
. Se estiver, imprimiremos uma mensagem no terminal.
Generalize sua verificação removendo a sensibilidade a maiúsculas/minúsculas
Por padrão, a verificação com in
diferencia maiúsculas de minúsculas. Isso significa que “segredo” e “Segredo” são tratados como strings diferentes.
Para generalizar a verificação e torná-la insensível a maiúsculas e minúsculas, você precisa converter ambas as strings para letras minúsculas ou maiúsculas antes de fazer a verificação:
Com a função lower()
, convertemos tanto a substring quanto a string original para letras minúsculas antes de fazer a verificação. Agora, independentemente da combinação de maiúsculas e minúsculas, a substring será encontrada.
Aprenda mais sobre a substring
Para entender melhor como trabalhar com substrings em Python, é útil aprender mais sobre os métodos de string relacionados. Alguns dos métodos comumente usados são:
str.find()
: retorna o índice da primeira ocorrência de uma substring em uma string.str.startswith()
: verifica se uma string começa com uma determinada substring.str.endswith()
: verifica se uma string termina com uma determinada substring.
Experimente usar esses métodos para realizar diferentes verificações de substring e explore como eles funcionam.
Encontre uma substring com condições usando regex
Quando o uso de substrings se torna mais complexo, pode ser necessário utilizar expressões regulares (regex) para realizar verificações mais avançadas em strings. O módulo re
do Python oferece suporte a expressões regulares e pode ser usado para encontrar substrings com base em padrões específicos.
Nesse exemplo, usamos re.search()
para encontrar a substring “hi” em raw_file_content
. O modificador re.IGNORECASE
torna a busca insensível a maiúsculas e minúsculas. Se a substring for encontrada, imprimimos uma mensagem.
As expressões regulares são uma poderosa ferramenta para trabalhar com strings e permitem verificações mais sofisticadas. Ao se aprofundar nesse tópico, você pode aprender a usar diferentes padrões e metacaracteres para realizar verificações mais precisas.
Encontre uma substring em uma coluna de um DataFrame do pandas
Se você estiver trabalhando com dados tabulares e precisar pesquisar substrings em uma coluna específica, o pandas facilita a tarefa. Uma abordagem mais eficiente é carregar seus dados em um DataFrame do pandas e usar métodos específicos para realizar a busca.
Neste exemplo, criamos um DataFrame do pandas com uma coluna “texto” contendo várias strings. Usamos o método str.contains()
para verificar se a substring “segredo” está presente em cada string da coluna “texto”. Com o parâmetro case=False
, a verificação se torna insensível a maiúsculas e minúsculas.
O resultado será um novo DataFrame contendo apenas as linhas que contêm a substring “segredo” na coluna “texto”. Você pode então realizar outras operações ou manipulações nesses dados filtrados.
Conclusão
Após seguir este tutorial, você está pronto para verificar se uma string em Python contém uma substring. Você aprendeu a usar o operador de pertencimento in
para realizar essa verificação e também a generalizar a verificação removendo a sensibilidade a maiúsculas e minúsculas.
Além disso, você expandiu seu conhecimento sobre substrings, aprendendo sobre métodos de string relacionados, regex e a busca em colunas de DataFrames do pandas.
Agora, você tem todas as ferramentas necessárias para manipular e verificar substrings em Python. Experimente diferentes exemplos e casos de uso para aprimorar ainda mais suas habilidades!