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

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma string contém uma substring em Python. O laboratório guia você através da definição de substrings usando slicing (fatiamento) com índices positivos e negativos. Você criará um script Python chamado substrings.py para extrair substrings de uma string fornecida e imprimi-las no console.

O laboratório demonstra como usar slicing para definir substrings, extraindo porções de uma string especificando os índices de início e fim. Você aprenderá a extrair substrings como "Hello" e "LabEx" da string "Hello, LabEx!" e também como acessar o último caractere da string usando indexação negativa. O laboratório inclui instruções sobre como executar o script e verificar a saída.

Definir Substrings

Nesta etapa, você aprenderá como definir substrings em Python. Uma substring é uma sequência contígua de caracteres dentro de uma string. Compreender como trabalhar com substrings é essencial para muitas tarefas de manipulação de strings.

Vamos começar criando um script Python chamado substrings.py no seu diretório ~/project. Você pode usar o editor VS Code para criar este arquivo.

## ~/project/substrings.py
string = "Hello, LabEx!"

Este script inicializa uma variável de string chamada string com o valor "Hello, LabEx!".

Agora, vamos adicionar algum código para extrair substrings desta string. Uma maneira simples de definir uma substring é usando slicing (fatiamento). Slicing permite que você extraia uma porção de uma string especificando os índices de início e fim.

Adicione as seguintes linhas ao seu arquivo substrings.py:

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = string[0:5]  ## Caracteres do índice 0 a 4
substring2 = string[7:12] ## Caracteres do índice 7 a 11

print(substring1)
print(substring2)

Neste exemplo, substring1 conterá os caracteres do índice 0 até (mas não incluindo) o índice 5, que é "Hello". substring2 conterá os caracteres do índice 7 até (mas não incluindo) o índice 12, que é "LabEx".

Para executar o script, abra seu terminal no VS Code e execute o seguinte comando:

python ~/project/substrings.py

Você deve ver a seguinte saída:

Hello
LabEx

Você também pode usar índices negativos para definir substrings. Índices negativos contam a partir do final da string. Por exemplo, string[-1] se refere ao último caractere da string.

Modifique seu arquivo substrings.py para incluir o seguinte:

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = string[0:5]  ## Caracteres do índice 0 a 4
substring2 = string[7:12] ## Caracteres do índice 7 a 11
substring3 = string[-1]   ## Último caractere

print(substring1)
print(substring2)
print(substring3)

Agora, execute o script novamente:

python ~/project/substrings.py

A saída agora deve incluir o último caractere da string:

Hello
LabEx
!

Compreender como definir substrings usando slicing é uma habilidade fundamental em Python. Experimente com diferentes índices de início e fim para extrair várias partes da string.

Usar o Operador 'in'

Nesta etapa, você aprenderá como usar o operador in em Python para verificar se uma substring existe dentro de uma string. O operador in é uma maneira simples e eficiente de determinar a presença de uma substring.

Vamos continuar trabalhando com o arquivo substrings.py que você criou na etapa anterior. Adicionaremos código para verificar se certas substrings estão presentes na string original.

Abra o arquivo substrings.py no seu diretório ~/project usando o editor VS Code.

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "Hello"
substring2 = "Python"

print(substring1 in string)
print(substring2 in string)

Neste exemplo, definimos duas substrings, substring1 e substring2. Em seguida, usamos o operador in para verificar se cada substring está presente na variável string. O operador in retorna True se a substring for encontrada e False caso contrário.

Para executar o script, abra seu terminal no VS Code e execute o seguinte comando:

python ~/project/substrings.py

Você deve ver a seguinte saída:

True
False

Esta saída indica que "Hello" está presente na string "Hello, LabEx!", enquanto "Python" não está.

Você também pode usar o operador in em instruções condicionais. Modifique seu arquivo substrings.py para incluir o seguinte:

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "Hello"
substring2 = "Python"

if substring1 in string:
    print(f"'{substring1}' is found in '{string}'")
else:
    print(f"'{substring1}' is not found in '{string}'")

if substring2 in string:
    print(f"'{substring2}' is found in '{string}'")
else:
    print(f"'{substring2}' is not found in '{string}'")

Agora, execute o script novamente:

python ~/project/substrings.py

A saída agora deve ser mais descritiva:

'Hello' is found in 'Hello, LabEx!'
'Python' is not found in 'Hello, LabEx!'

O operador in é uma ferramenta poderosa para manipulação de strings em Python. Ele permite que você verifique facilmente a presença de substrings dentro de uma string, tornando seu código mais legível e eficiente.

Encontrar Posição com find()

Nesta etapa, você aprenderá como usar o método find() em Python para encontrar a posição de uma substring dentro de uma string. O método find() retorna o índice da primeira ocorrência da substring ou -1 se a substring não for encontrada.

Vamos continuar trabalhando com o arquivo substrings.py que você criou nas etapas anteriores. Adicionaremos código para encontrar a posição de substrings específicas dentro da string original.

Abra o arquivo substrings.py no seu diretório ~/project usando o editor VS Code.

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "LabEx"
substring2 = "Python"

position1 = string.find(substring1)
position2 = string.find(substring2)

print(position1)
print(position2)

Neste exemplo, definimos duas substrings, substring1 e substring2. Em seguida, usamos o método find() para encontrar a posição de cada substring dentro da variável string.

Para executar o script, abra seu terminal no VS Code e execute o seguinte comando:

python ~/project/substrings.py

Você deve ver a seguinte saída:

7
-1

Esta saída indica que "LabEx" é encontrado no índice 7 na string "Hello, LabEx!", enquanto "Python" não é encontrado (indicado por -1).

Você também pode usar o método find() com índices opcionais de início e fim para pesquisar uma substring dentro de um intervalo específico. Modifique seu arquivo substrings.py para incluir o seguinte:

## ~/project/substrings.py
string = "Hello, LabEx! LabEx"

substring1 = "LabEx"

position1 = string.find(substring1)         ## Encontrar a primeira ocorrência
position2 = string.find(substring1, 8)      ## Encontrar a ocorrência começando do índice 8
position3 = string.find(substring1, 0, 5)   ## Encontrar a ocorrência dentro dos primeiros 5 caracteres

print(position1)
print(position2)
print(position3)

Agora, execute o script novamente:

python ~/project/substrings.py

A saída agora deve ser:

7
14
-1

Neste exemplo:

  • position1 encontra a primeira ocorrência de "LabEx" no índice 7.
  • position2 começa a pesquisar a partir do índice 8, então encontra a segunda ocorrência de "LabEx" no índice 14.
  • position3 pesquisa dentro dos primeiros 5 caracteres da string, então não encontra "LabEx" e retorna -1.

O método find() é uma ferramenta versátil para localizar substrings dentro de uma string. Compreender como usá-lo com índices opcionais de início e fim permite que você execute pesquisas mais direcionadas.

Resumo

Neste laboratório, você aprendeu como definir substrings em Python usando string slicing (fatiamento de strings). Você criou um script Python para inicializar uma string e, em seguida, extraiu substrings especificando os índices de início e fim, incluindo o uso de índices negativos para acessar caracteres do final da string. O laboratório demonstrou como imprimir essas substrings extraídas no console.

A principal conclusão é entender como usar o slicing com índices positivos e negativos para definir e extrair porções específicas de uma string, o que é uma habilidade fundamental para a manipulação de strings em Python.