Entendendo Substrings em Python com Exemplos

Este artigo tem como objetivo levar o aluno a uma melhor compreensão das substrings em Python.

Ele ensinará como criar uma substring, extrair diferentes partes dela de uma string e como as substrings em Python funcionam usando vários exemplos para implementar isso. Vamos verificar ainda mais a existência da substring em uma string.

Antes de começarmos, é essencial saber o que são uma string e uma substring. Uma string é uma sequência de caracteres Unicode que consiste em caracteres alfanuméricos e/ou caracteres especiais. Podemos definir uma substring como uma parte da sequência de caracteres dentro de uma string.

Discutiremos o seguinte:

  • Criando uma substring.
  • Maneiras de fatiar uma substring.
  • Número de ocorrências de uma substring
  • Encontrar a presença de uma substring em uma string.

Vamos começar!

Criando uma Substring

Uma substring é criada principalmente usando a técnica de fatiamento. Essa técnica permite a extração da substring definindo os delimitadores de begin-index, end-index e step. Esses delimitadores permitem a extração especificando o índice preciso dos caracteres que você deseja obter.

A Sintaxe fica assim:

string[begin-index: end-index: step]

Observe que o valor do índice em qualquer string começa em zero.

O parâmetro begin-index indica o índice inicial da substring. Portanto, se você omitir esse elemento ao fatiar, o Python assumirá automaticamente que seu valor de índice é zero.

End-index é o último índice da substring. Quando você não o menciona, o fatiamento assume que seu valor é igual ao comprimento da string.

  Você deve ativá-lo ou desativá-lo?

Etapa: Indica o próximo caractere a ser considerado após o caractere atual. O valor desse parâmetro geralmente é um. Quando o parâmetro step é omitido durante o fatiamento, seu valor ainda é considerado um.

Maneiras de cortar uma corda

Existem várias maneiras de obter uma substring de uma string. Esses incluem:

#1. Fatiar usando begin-index e end-index.

String = string[begin-index : end-index]

Em uma instância em que você deseja obter o primeiro nome de uma pessoa a partir de seu nome completo, você o implementará assim:

string = 'Michael Doe'

print(string[0:7])

A saída será:

Michael

#2. Fatiar usando begin-index sem end-index.

String= string[begin-index:]

Aqui, indicamos apenas de qual índice queremos começar a extrair nossos caracteres de substring da string – fatiando extrações até o último índice de toda a string que geralmente tem um índice de -1.

Exemplo:

string = 'This is to demonstrate slicing of a string using the begin-index without the end-index'

print(string[7:])

Resultado:

to demonstrate slicing of a string using the begin-index without the end-index

#3. Fatiar usando o índice final sem o índice inicial.

String = string[:end-index]

Aqui, indicamos o último caractere que a substring deve incluir, deixando de fora de onde ela deve começar. Portanto, o fatiamento exibirá a substring que inicia o caractere de índice zero da string.

Exemplo:

string = 'This is to demonstrate slicing of a string using the end-index without the begin-index'

print(string[:9])

Resultado:

This is t

#4. Cortando a corda inteira.

String = string[ : ]

Nesse caso, não identificamos nenhum dos delimitadores; portanto, a string inteira é retornada.

Exemplo

string = 'This is to demonstrate slicing of the entire string'

print(string[:])

Resultado:

This is to demonstrate slicing of the entire string

#5. Fatiar um único caractere de uma string.

String = string[index]

Um valor de índice preciso de um caractere da string é cortado aqui.

  Como deletar uma página em branco em Documentos Google

Exemplo:

string = 'This is to demonstrate slicing of a single character from a string'

print(string[8])

O ‘t’ em ‘to’ é impresso, pois seu valor de índice é 8.

#6. Fatiar usando o begin-index, end-index e step.

Exemplo

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:1])

Quando o valor da etapa é definido como 1, ocorre o fatiamento normal e o seguinte é gerado aqui.

demonstrate s

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

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:2])

O corte dos caracteres será feito em etapas de 2 como esta.

dmntaes

O fatiamento extrai o segundo caractere após o atual. Portanto, os slices do Python ‘demonstram’ para o Dmntaes.

#7. Invertendo uma string usando um passo negativo.

Neste exemplo, a string inteira será exibida do último caractere da string até o primeiro.

string = 'This is to demonstrate reversing string using the negative step'

print(string[::-1])

Resultado:

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

A etapa negativa funciona assim:

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

O valor de índice inicial da string reversa acima começa em 0 por padrão e termina em 6. A etapa negativa reverte o valor de índice do último caractere e o aplica ao primeiro caractere e nega esse valor.

Mais exemplos de fatiamento

Obtendo os primeiros quatro caracteres de substring em uma string.

string = 'characters'

print(string[0:4])

Saída:

char

Encontrando a presença de uma substring em uma string

Python usa a função find() ou o operador ‘in’ para verificar a existência de uma substring em uma string.

  14 melhores softwares CAD para estudantes e profissionais

Usando o exemplo do operador ‘in’

string = 'this is to demonstrate that a particular substring is found in a string '
if 'find' in string: 
    print('The substring is found') 
else: 
    print('Could not find the substring defined')

Resultado:

Could not find the substring defined

O exemplo acima verifica se a substring ‘find’ está presente na string declarada. Como a substring não é encontrada na string, a saída é exibida acima.

Substituir a substring ‘find’ pela substring ‘that’ e verificar se ela existe na string ou não retornaria ‘substring is found’ porque ela está presente na string.

Usando o exemplo da função find():

string = 'using string to find if a substring is present in a string'

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

    print("The substring 'found' exists")

else:

    print("The substring 'found' does not exist")

resultado:

<code class="language-python">The substring 'found' does not exist

No exemplo acima, tentamos encontrar uma substring que não faz parte da nossa string. Como vimos acima, a função find() verifica toda a string e não é encontrada esta substring ‘found’ específica, ela retorna a saída ‘The substring found is not exist’ como saída.

Encontrando o número de ocorrências de uma substring

Python usa a função count() que implementa essa condição, como no exemplo abaixo.

string = " Counting the number of occurrences of 'o' in this string "

print("The 'o' substring count is: ",string.count('o'));

Resultado:

The 'o' substring count is:  5

Conclusão

Este artigo deve fornecer uma melhor compreensão do que é uma substring em Python, como criá-la e explicou claramente a ideia de fatiar e como implementá-la. Usando os exemplos fornecidos acima como diretrizes, pratique mais exemplos para entender melhor o conceito.

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

Boa codificação!