Existem diversas maneiras de manipularmos strings no Python. Uma aplicação bem comum é a necessidade de trabalharmos apenas com algum pedaço desta string. No exemplo deste post, veremos como extrair uma informação de data contida em uma string contendo o título de uma notícia extraída da internet. Nossa string será representada por :
a = 'Folha de S. Paulo - Mercado - Banco Schahin e investigado por desvio - 04/08/2013'
Nosso objetivo é extrair apenas a informação '04/08/2013'. A maneira mais elegante de realizar esta tarefa é trabalhar com as expressões regulares (regex). Entretanto, dedicaremos um post apenas para falar deste assunto. Para o exemplo de hoje, temos interesse em mostrar diversos operadores para manipular strings. Vamos a eles!
O primeiro operador é o comando split(). Com ele, partimos a string utilizando algum parâmetro como referência, tendo como resultado um array. Sua sintaxe é:
string.split('parâmetro')
Em nosso exemplo:
Separamos a string utilizando o caractere '-', já que a data está logo após. Inserimos este resultado em b, que agora é um array com 4 elementos. Agora, separaremos a data utilizando:
Aqui, temos um novo comando len() utilizado para sabermos o comprimento de um array. Assim, a variável data receberá a posição [len(b)-1] do array b, que nada mais é do que a última posição onde está a data. Subtraímos 1 pois as posições de arrays em Python começam em 0.
Note também que tentamos, uma primeira vez, armazenar nossa data, mas o resultado foi seu valor ainda seguido de um espaço. Isto aconteceu pois havia este espaço na string original, após o caractere '-'. Assim, fizemos nova tentativa com o operador split() que, sem argumentos, utiliza o espaço como separador padrão. Temos assim nossa data extraída.
Só para não deixar passar o momento, e se quiséssemos mudar o padrão da data de dd/mm/aaaa para um outro, como dd-mm-aaaa? É simples, e basta usarmos o operador replace(), que possui a sintaxe string.replace('old','new'). Em nosso exemplo:
Note que utilizamos data[0] pois a data extraída anteriormente era um array e estes objetos não suportam o atributo replace().
Fizemos um caminho longo para extrair a data, mas o objetivo não era apenas esse; queríamos mostrar também uma série de operadores para manipular strings no Python.
Até o próximo post!
0 comentários:
Postar um comentário