Domine Substrings em Python: Guia Completo com Exemplos

Este artigo tem como propósito auxiliar o estudante a aprofundar seu entendimento sobre substrings na linguagem Python.

Através deste guia, você aprenderá a construir substrings, extrair diversas seções de uma string e compreender o funcionamento das substrings em Python, com o suporte de exemplos práticos. Além disso, exploraremos a verificação da existência de uma substring dentro de uma string.

Antes de prosseguirmos, é fundamental esclarecer o que são uma string e uma substring. Uma string é uma sequência de caracteres Unicode, que pode incluir caracteres alfanuméricos e/ou caracteres especiais. Uma substring, por sua vez, pode ser definida como uma porção dessa sequência de caracteres contida dentro de uma string.

Abordaremos os seguintes tópicos:

  • Criação de uma substring.
  • Métodos para fatiar uma substring.
  • Contagem de ocorrências de uma substring.
  • Verificação da presença de uma substring em uma string.

Vamos iniciar!

Criação de uma Substring

A criação de uma substring é realizada principalmente através da técnica de fatiamento. Essa técnica permite que você selecione uma substring ao definir os delimitadores: índice inicial, índice final e passo. Esses delimitadores permitem especificar precisamente os índices dos caracteres desejados.

A sintaxe é a seguinte:

string[índice_inicial: índice_final: passo]

É importante lembrar que o índice de qualquer string começa em zero.

O parâmetro “índice_inicial” indica o ponto de partida da substring. Se você omitir esse parâmetro durante o fatiamento, Python automaticamente assume que seu valor é zero.

O parâmetro “índice_final” especifica o último índice da substring. Caso seja omitido, o fatiamento considera que seu valor é igual ao comprimento total da string.

O parâmetro “passo” define o próximo caractere a ser considerado após o atual. Geralmente, seu valor é um. Quando omitido durante o fatiamento, seu valor é automaticamente considerado como um.

Formas de Fatiar uma String

Existem diversas maneiras de extrair substrings de uma string. As principais incluem:

#1. Fatiamento com índice inicial e final.

String = string[índice_inicial : índice_final]

Por exemplo, para extrair o primeiro nome de uma pessoa a partir do seu nome completo, você faria da seguinte forma:

string = 'Michael Doe'

print(string[0:7])

O resultado seria:

Michael

#2. Fatiamento usando apenas o índice inicial.

String = string[índice_inicial:]

Neste caso, especificamos apenas o índice a partir do qual a extração da substring deve começar. O fatiamento prossegue até o último caractere da string, que tem um índice de -1.

Exemplo:

string = 'Este exemplo demonstra o fatiamento de uma string usando o índice inicial sem o índice final'

print(string[17:])

Resultado:

o fatiamento de uma string usando o índice inicial sem o índice final

#3. Fatiamento usando apenas o índice final.

String = string[:índice_final]

Aqui, indicamos o último caractere que deve ser incluído na substring, deixando o início sem especificação. O fatiamento exibirá a substring a partir do caractere de índice zero da string.

Exemplo:

string = 'Este exemplo demonstra o fatiamento de uma string usando o índice final sem o índice inicial'

print(string[:15])

Resultado:

Este exemplo de

#4. Fatiamento da string inteira.

String = string[ : ]

Neste caso, nenhum delimitador é especificado; portanto, a string completa é retornada.

Exemplo:

string = 'Este exemplo demonstra o fatiamento da string completa'

print(string[:])

Resultado:

Este exemplo demonstra o fatiamento da string completa

#5. Fatiamento de um único caractere.

String = string[índice]

Um caractere específico da string é selecionado a partir do seu índice.

Exemplo:

string = 'Este exemplo demonstra o fatiamento de um único caractere de uma string'

print(string[13])

O ‘o’ em ‘demonstra’ é exibido, pois seu índice é 13.

#6. Fatiamento com índice inicial, final e passo.

Exemplo:

string = 'Este exemplo demonstra o fatiamento da string usando o índice inicial, passo e índice final'

print(string[15:28:1])

Quando o valor do passo é 1, o fatiamento ocorre normalmente, resultando em:

 demonstra o fa

Usando o mesmo exemplo, vamos definir o valor do passo como 2.

string = 'Este exemplo demonstra o fatiamento da string usando o índice inicial, passo e índice final'

print(string[15:28:2])

O fatiamento dos caracteres será feito em passos de 2:

dmnt af

O fatiamento extrai o segundo caractere após o atual. Assim, o Python extrai “demonstra o fa” para “dmnt af”.

#7. Invertendo uma string usando um passo negativo.

Neste exemplo, a string inteira será exibida do último caractere ao primeiro.

string = 'Este exemplo demonstra a inversão de uma string usando o passo negativo'

print(string[::-1])

Resultado:

ovitagen ossap o gnisa gnirts amu ed oãsrevni a artsnomed olpmexe etsE

O passo negativo funciona da seguinte forma:

R
E
V
E
R
S
E
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1

O índice inicial da string invertida começa em 0 por padrão e termina em 6. O passo negativo inverte o índice do último caractere e aplica ao primeiro caractere, negando esse valor.

Mais exemplos de fatiamento:

Obtendo os primeiros quatro caracteres de uma string.

string = 'caracteres'

print(string[0:4])

Saída:

cara

Verificando a Presença de uma Substring em uma String

Python utiliza a função find() ou o operador ‘in’ para verificar se uma substring existe dentro de uma string.

Exemplo utilizando o operador ‘in’:

string = 'Este exemplo demonstra como verificar se uma substring está presente em uma string'
if 'verificar' in string: 
    print('A substring foi encontrada') 
else: 
    print('A substring não foi encontrada')

Resultado:

A substring foi encontrada

O exemplo acima verifica se a substring ‘verificar’ está presente na string declarada. Como a substring é encontrada na string, a saída exibida é a de que ela foi encontrada.

Se substituirmos a substring ‘verificar’ por uma que não existe na string, o resultado será “A substring não foi encontrada”.

Exemplo utilizando a função find():

string = 'utilizando string para verificar se uma substring está presente em uma string'

if string.find('existente') != -1:

    print("A substring 'existente' existe")

else:

    print("A substring 'existente' não existe")

Resultado:

A substring 'existente' não existe

Nesse exemplo, tentamos encontrar uma substring que não existe na nossa string. A função find() percorre toda a string e, como não encontra a substring ‘existente’, retorna a mensagem de que ela não existe.

Contando o Número de Ocorrências de uma Substring

Python utiliza a função count() para realizar essa contagem, como no exemplo abaixo.

string = "Contando o número de ocorrências de 'o' nesta string"

print("O número de ocorrências da substring 'o' é: ",string.count('o'));

Resultado:

O número de ocorrências da substring 'o' é: 5

Conclusão

Este artigo tem como objetivo fornecer um entendimento mais claro sobre o que é uma substring em Python, como criá-la e como realizar o fatiamento. Através dos exemplos práticos fornecidos, você poderá aprofundar sua compreensão sobre o conceito.

Você também pode aprender a criar um jogo de adivinhação de números usando Python ou como obter dados JSON em Python.

Bons estudos!