11.1 Definindo índices
Em Python, extrair substrings é uma operação bastante usada que permite manipular dados de texto e extrair partes significativas de informação das strings. Vamos dar uma olhada em algumas maneiras de obter substrings, cada uma com suas próprias características e áreas de aplicação.
Usando slices
Slices são a maneira básica de obter substrings em Python. Um slice em Python é criado usando a sintaxe string[start:stop:step], onde:
start— índice inicial (inclusivo),stop— índice final (exclusivo),step— passo, com o qual os caracteres são extraídos.
A sintaxe de slices permite especificar os índices inicial e final da substring que você quer extrair.
text = "Hello, world!"
substring = text[7:12] # Vai imprimir 'world'
11.2 Definindo índices incompletos
Não é necessário especificar todos os três índices para extrair uma substring.
- Se
startfor omitido, o slice começa no início da string. - Se
stopfor omitido, o slice vai até o final da string. - Se
stepfor omitido, os caracteres são extraídos um a um.
Exemplos:
Vamos criar um exemplo para obter uma substring começando do 7º caractere até o final da string
text = "Hello, world!"
substring = text[7:] # Vai imprimir 'world!'
Agora do início da string até o 10º caractere. Espero que você se lembre que o último caractere no range não é incluído na substring.
text = "Hello, world!"
substring = text[:10] # Vai imprimir 'Hello, wor'
11.3 Índices negativos
Índices negativos em Python permitem acessar elementos da string começando do fim. Usar índices negativos frequentemente torna o código mais legível e conveniente, especialmente quando se trabalha com o final da string.
Obtendo o último caractere da string:
text = "Python"
last_char = text[-1]
print(last_char) # Vai imprimir: 'n'
Obtendo o penúltimo caractere da string:
text = "Python"
second_last_char = text[-2]
print(second_last_char) # Vai imprimir: 'o'
Para obter os três últimos caracteres da string:
text = "Python"
last_three = text[-3:]
print(last_three) # Vai imprimir: 'hon'
Para obter a string excluindo o último caractere:
text = "Python"
all_but_last = text[:-1]
print(all_but_last) # Vai imprimir: 'Pytho'
Uso avançado de slices
Com o parâmetro step você pode criar slices mais complexos, por exemplo, para extrair caracteres em ordem reversa:
# Inverter string
print(text[::-1]) # '!dlrow ,olleH'
GO TO FULL VERSION