Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

JoaoRodrigues

Lidar com Strings

Mensagens Recomendadas

JoaoRodrigues    0
JoaoRodrigues

Bom dia pessoal. Tenho que lidar com texto deste formato (HTML):

id="Abstract_17886292" title="Abstract" /></a></td><td align="left" valign="top" colspan="2">STI1 promotes glioma proliferation through MAPK and PI3K pathways.<br /><font size="-1"><span title="Glia">Glia</span>. 2007 Sep 20; [Epub ahead of print] <br />PMID: 17886292 [PubMed - as supplied by publisher]</font></td></tr></tbody></table><table cellpadding="0" cellspacing="5" width="100%"><tbody><tr><td valign="top" nowrap="nowrap"

Quero extrair desta carrada de tralha apenas isto:

Glia">Glia</span>. 2007 Sep 20; [Epub ahead of print]

Até agora consegui fazê-lo. Agora, quero tirar deste texto o "> e o </span> que lá aparecem. Já tentei replace e split e nientes... Alguém tem dicas?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rolando2424    7
rolando2424

>>> teste = 'Glia">Glia</span>. 2007 Sep 20; [Epub ahead of print]'

>>> " ".join(" ".join(teste.split(">")).split("</span"))
'Glia" Glia  . 2007 Sep 20; [Epub ahead of print]'

Estilo isto?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoRodrigues    0
JoaoRodrigues

Hmm, isso mesmo. Eu tinha tentado com join mas ele resmungava que não eram substrings e não sei o quê... vou experimentar :D

EDIT: Não consegui.. também digo-te, não percebi o que escreveste, só copiei e colei.

for line in range(len(_results)):
    if r'<font size="-1"><a href=' in _results[line]:
        index += 1
        string = _results[line]
        index_1 = int(string.index('<span title='))
        index_2 = int(string.index('<br />PMID:'))
        journal_year = str(string[index_1+13:index_2])
        journal[index] = str(journal_year)

O código que tenho é este. Onde ponho esse bocadito? E já agora, point me para uma explanation :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Epa... para isto não não há nada como expressões regulares. Tem uma certa curva de aprendizagem, mas depois acba por ser uma coisa que se usa quase todos os dias.

No python podes usar expressoes regulares, basta importares o módulo re.

http://www.google.pt/search?q=regex+tutorial&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:official&client=firefox-a

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
JoaoRodrigues    0
JoaoRodrigues

Já olhei para elas pedrotuga... realmente a curva de aprendizagem deve ser mesmo "steep" :P Quando fizer a 2a versão do programa, implemento reg.expressions :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade