Fatias de linha
Em Python, você pode selecionar parte de uma string ( substring). Para fazer isso, use a operação de obtenção de uma fatia (do inglês slicing)
A visão geral da operação de fatiamento é a seguinte
s[start:stop:step]
Este comando pega uma fatia da string s começando do caractere no índice start até o caractere no índice stop (não incluindo) com step step (se não especificado, o passo é 1)
Qualquer parte entre colchetes pode estar faltando.
Por exemplo,
s1 = s[3:8]
significa que os caracteres de 3 a 7 são copiados na string s1 da string s com a etapa 1.
Você pode pegar índices negativos, então a contagem é a partir do final da string.
s = "0123456789"
s1 = s[-7:-2] # s1="34567"
Se start não for especificado, será considerado igual a zero (ou seja, será considerado desde o início da string). Se stop não for especificado, a fatia será executada até o final da string.
s = "0123456789"
s1 = s[:4] # s1="0123"
s2 = s[-4:] # s2="6789"
Veja como é fácil inverter uma string:
s = "0123456789"
s1 = s[::-1] # s1="9876543210"
Todos os caracteres da string são iterados em incrementos de -1, o que significa que os caracteres serão iterados a partir do final. A linha inteira está envolvida porque os índices inicial e final não são especificados.
|
Excluir e colar
Para excluir parte de uma string, você precisa compor uma nova string combinando as partes da string original antes e depois da seção a ser excluída.
s = "0123456789"
s1 = s[:3]+s[9:] # s1="0129"
Usando fatias e concatenação de strings, você pode inserir uma substring dentro de uma string.
s = "0123456789"
s1 = s[:3]+"ABC"+s[3:] # s1="012ABC3456789"
|
Métodos de manipulação de strings
Python tem muitos métodos (funções prontas para uso) para trabalhar com strings. Muitos deles são chamados usando a notação de ponto e são chamados de métodos. Uma lista completa de métodos de manipulação de strings pode ser encontrada online.
Vamos conhecer alguns deles.
s = "aAbBcC"
sUp = s.upper() # sUp = "AABBCC" - um método que traduz
# maiúsculo cada caractere da string
sLow = s.lower() # sLow = "aabbcc" - um método que traduz
# diminua cada caractere da string
À esquerda do ponto está o nome da string (ou a própria string entre aspas) à qual o método deve ser aplicado e à direita do ponto está o nome do método. O método é sempre escrito entre parênteses. Pode haver quaisquer parâmetros dentro dos colchetes se forem necessários.
Anteriormente, já usávamos o método de trabalhar com strings quando exibimos dados na tela em um determinado formato - o método format()
a = 4
b = 5
print("{}+{}={}".format(a,b,a+b)) # 4+5=9
Outro método útil isdigit() é um método para verificar se todos os caracteres de uma string são dígitos, ele retorna um valor booleano (Verdadeiro ou Falso).
s = "ab1c"
print(s.isdigit()) #False
s = "123"
print(s.isdigit()) #True
O útil método strip() permite remover espaços no início e no final de uma string
s = " ab 1c "
print('s=', s.strip()) # s=ab 1c
|
Pesquisar na linha
Para pesquisar dentro de uma string em Python, use o método find() .
Possui três formas e retorna o índice da 1ª ocorrência da substring na string:
1) find(str) - substring str é pesquisado do início ao fim da string;
2) find(str, start) - através do parâmetro start , é definido o índice inicial, e é a partir dele que a busca é realizada;< br />
3) find(str, start, end) - usando o parâmetro end , o índice final é definido, a pesquisa é realizada antes dele.
Quando a substring não é encontrada, o método retorna -1:
bem-vindo = "Olá mundo! Adeus mundo!"
index = welcome.find("wor")
print(índice) #6
# procura do 10º ao 15º índice
index = welcome.find("trabalho", 10, 15)
imprimir(índice) # -1
Você pode pesquisar a partir do final da string. Para isso, é utilizado o método rfind() (do inglês reverse find) - ele retorna o índice da última ocorrência de uma substring em uma string.
Observação: métodos de dados não procure o número de ocorrências, mas apenas determine se existe tal substring na string ou não.
|
Substituindo substrings em uma string
Em Python, para substituir uma substring por outra em uma string, use o método replace() :
replace(old, new) - substring old é substituída por new ;
replace(old, new, num) - o parâmetro num mostra quantas ocorrências da substring old substituídas por new >.
Exemplo
telefone = "+1-234-567-89-10"
# hífens são alterados para espaços
edited_phone = phone.replace("-", " ")
print(edited_phone) # +1 234 567 89 10
# hifens são removidos
edited_phone = phone.replace("-", "")
print(edited_phone) # +12345678910
# apenas o primeiro hífen muda
edited_phone = phone.replace("-", "", 1)
print(edited_phone) # +1234-567-89-10
|