Como Verificar se uma String Começa com um Prefixo em Python

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se uma string começa com um prefixo específico em Python usando o método startswith(). Essa habilidade é crucial para tarefas como validação de dados e processamento de arquivos.

Você criará um script Python para demonstrar o uso de prefixos de string. O script definirá uma string e, em seguida, usará startswith() para verificar se ela começa com "Hello" e "Goodbye", imprimindo os resultados no console. Em seguida, você executará o script e observará a saída.

Entenda os Prefixos de String

Nesta etapa, você aprenderá sobre prefixos de string em Python e como usá-los para verificar se uma string começa com um prefixo específico. Compreender os prefixos de string é essencial para várias tarefas, como validação de dados, processamento de arquivos e análise de comandos.

Um prefixo de string é uma sequência de caracteres que aparece no início de uma string. Por exemplo, a string "Hello, world!" tem o prefixo "Hello". Python fornece um método embutido chamado startswith() que permite verificar se uma string começa com um prefixo específico.

Vamos começar criando um script Python para demonstrar como usar prefixos de string.

  1. Abra o editor VS Code no ambiente LabEx.

  2. Crie um novo arquivo chamado prefix_example.py no diretório ~/project.

    touch ~/project/prefix_example.py
  3. Abra o arquivo prefix_example.py no editor e adicione o seguinte código:

    message = "Hello, LabEx!"
    
    ## Check if the string starts with "Hello"
    if message.startswith("Hello"):
        print("The string starts with 'Hello'")
    else:
        print("The string does not start with 'Hello'")
    
    ## Check if the string starts with "Goodbye"
    if message.startswith("Goodbye"):
        print("The string starts with 'Goodbye'")
    else:
        print("The string does not start with 'Goodbye'")

    Este código define uma variável de string message e, em seguida, usa o método startswith() para verificar se a string começa com "Hello" e "Goodbye". A saída indicará se a string começa com os prefixos especificados.

  4. Salve o arquivo prefix_example.py.

  5. Execute o script usando o comando python no terminal:

    python ~/project/prefix_example.py

    Você deve ver a seguinte saída:

    The string starts with 'Hello'
    The string does not start with 'Goodbye'

    Esta saída confirma que a string message começa com "Hello" mas não com "Goodbye".

O método startswith() é uma ferramenta poderosa para verificar prefixos de string em Python. Nas próximas etapas, você explorará técnicas mais avançadas para usar prefixos de string, como lidar com a sensibilidade a maiúsculas e minúsculas e verificar vários prefixos.

Use o Método startswith()

Nesta etapa, você se aprofundará no método startswith() e explorará suas capacidades com diferentes argumentos. Você aprenderá como verificar prefixos em posições específicas dentro de uma string e como verificar múltiplos prefixos.

O método startswith() pode aceitar argumentos opcionais para especificar as posições inicial e final para a verificação do prefixo. A sintaxe é a seguinte:

string.startswith(prefix, start, end)
  • prefix: O prefixo a ser verificado.
  • start: A posição inicial para a verificação (opcional).
  • end: A posição final para a verificação (opcional).

Vamos modificar o arquivo prefix_example.py para demonstrar esses recursos.

  1. Abra o arquivo prefix_example.py no editor VS Code.

  2. Modifique o código para incluir o seguinte:

    message = "Hello, LabEx!"
    
    ## Check if the string starts with "Hello"
    if message.startswith("Hello"):
        print("The string starts with 'Hello'")
    else:
        print("The string does not start with 'Hello'")
    
    ## Check if the string starts with "LabEx" starting from position 7
    if message.startswith("LabEx", 7):
        print("The string starts with 'LabEx' at position 7")
    else:
        print("The string does not start with 'LabEx' at position 7")
    
    ## Check if the string starts with "Hello" within the first 5 characters
    if message.startswith("Hello", 0, 5):
        print("The string starts with 'Hello' within the first 5 characters")
    else:
        print("The string does not start with 'Hello' within the first 5 characters")

    Neste código, adicionamos mais duas verificações usando o método startswith() com os argumentos start e end. A primeira verificação verifica se a string começa com "LabEx" a partir da posição 7. A segunda verificação verifica se a string começa com "Hello" dentro dos primeiros 5 caracteres.

  3. Salve o arquivo prefix_example.py.

  4. Execute o script usando o comando python no terminal:

    python ~/project/prefix_example.py

    Você deve ver a seguinte saída:

    The string starts with 'Hello'
    The string starts with 'LabEx' at position 7
    The string does not start with 'Hello' within the first 5 characters

    Esta saída demonstra como os argumentos start e end podem ser usados para verificar prefixos em posições específicas dentro de uma string.

Agora, vamos explorar como verificar múltiplos prefixos usando uma tupla.

  1. Modifique o arquivo prefix_example.py para incluir o seguinte:

    message = "Hello, LabEx!"
    
    ## Check if the string starts with "Hello" or "Hi"
    if message.startswith(("Hello", "Hi")):
        print("The string starts with 'Hello' or 'Hi'")
    else:
        print("The string does not start with 'Hello' or 'Hi'")
    
    ## Check if the string starts with "Goodbye" or "Welcome"
    if message.startswith(("Goodbye", "Welcome")):
        print("The string starts with 'Goodbye' or 'Welcome'")
    else:
        print("The string does not start with 'Goodbye' or 'Welcome'")

    Neste código, adicionamos mais duas verificações usando uma tupla de prefixos. A primeira verificação verifica se a string começa com "Hello" ou "Hi". A segunda verificação verifica se a string começa com "Goodbye" ou "Welcome".

  2. Salve o arquivo prefix_example.py.

  3. Execute o script usando o comando python no terminal:

    python ~/project/prefix_example.py

    Você deve ver a seguinte saída:

    The string starts with 'Hello' or 'Hi'
    The string does not start with 'Goodbye' or 'Welcome'

    Esta saída demonstra como verificar múltiplos prefixos usando uma tupla com o método startswith().

Lidar com Sensibilidade a Case (Maiúsculas/Minúsculas)

Nesta etapa, você aprenderá como lidar com a sensibilidade a maiúsculas e minúsculas ao verificar prefixos de string. Por padrão, o método startswith() é case-sensitive (sensível a maiúsculas e minúsculas), o que significa que ele distingue entre letras maiúsculas e minúsculas. Você explorará técnicas para realizar verificações de prefixo case-insensitive (sem distinção entre maiúsculas e minúsculas).

Para realizar uma verificação de prefixo case-insensitive, você pode converter tanto a string quanto o prefixo para minúsculas (ou maiúsculas) antes de usar o método startswith(). Isso garante que a comparação seja feita sem considerar o caso das letras.

Vamos modificar o arquivo prefix_example.py para demonstrar como lidar com a sensibilidade a maiúsculas e minúsculas.

  1. Abra o arquivo prefix_example.py no editor VS Code.

  2. Modifique o código para incluir o seguinte:

    message = "Hello, LabEx!"
    
    ## Case-sensitive check for "hello"
    if message.startswith("hello"):
        print("The string starts with 'hello' (case-sensitive)")
    else:
        print("The string does not start with 'hello' (case-sensitive)")
    
    ## Case-insensitive check for "hello"
    if message.lower().startswith("hello".lower()):
        print("The string starts with 'hello' (case-insensitive)")
    else:
        print("The string does not start with 'hello' (case-insensitive)")

    Neste código, adicionamos duas verificações para o prefixo "hello". A primeira verificação é case-sensitive e falhará porque a string começa com "Hello" (H maiúsculo). A segunda verificação é case-insensitive e terá sucesso porque convertemos tanto a string quanto o prefixo para minúsculas antes da comparação.

  3. Salve o arquivo prefix_example.py.

  4. Execute o script usando o comando python no terminal:

    python ~/project/prefix_example.py

    Você deve ver a seguinte saída:

    The string does not start with 'hello' (case-sensitive)
    The string starts with 'hello' (case-insensitive)

    Esta saída demonstra como realizar verificações de prefixo case-insensitive convertendo tanto a string quanto o prefixo para minúsculas antes de usar o método startswith().

Você também pode usar o método upper() para converter ambas as strings para maiúsculas para uma comparação case-insensitive. A chave é garantir que ambas as strings estejam no mesmo caso antes de usar startswith().

Resumo

Neste laboratório, você aprendeu sobre prefixos de string em Python e como usar o método startswith() para verificar se uma string começa com um prefixo específico. Você criou um script Python para demonstrar o uso de startswith(), verificando se uma determinada string começa com "Hello" e "Goodbye", e observando a saída correspondente com base na correspondência do prefixo.

O laboratório enfatizou a importância de entender os prefixos de string para tarefas como validação de dados e análise de comandos. Você ganhou experiência prática no uso do método startswith() para determinar se uma string começa com uma sequência particular de caracteres e observou como o método retorna True ou False com base na correspondência.