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!