Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Stuck on Parse - Need Help

From: Tom::Conlin::gmail::com at: 5-Aug-2008 10:39

Carlos Lorenz wrote:
> Hi list, > > I would appreciate some help on this parse matter. > > I have the following string: > > corpo: { > > Evento: Boxe - Preliminares > In=EDcio: 09/08/2008 02:30 > Fim: 09/08/2008 05:45 > Sinopse: Acompanhe ao vivo as preliminares do boxe, categoria m=E9dio (at=E9 > 75kg), direto do Gin=E1sio dos Trabalhadores. > > Evento: Handebol Masculino > In=EDcio: 09/08/2008 22:00 > Fim: 09/08/2008 23:00 > Sinopse: Acompanhe ao vivo a estr=E9ia de Cro=E1cia x Espanha no torneio > masculino, em jogo v=E1lido pelo Grupo A, direto do Gin=E1sio do Centro > Ol=EDmpico. > > Evento: V=F4lei de Praia - Masc. > In=EDcio: 09/08/2008 23:00 > Fim: 10/08/2008 00:00 > Sinopse: Xu e Wu, da China, Gosch e Horst, da =C1ustria, disputam, nas areias > da Arena de V=F4lei de Praia, o jogo v=E1lido pela 1=AA rodada do Grupo A. > } > > And I need to have some data out of the string written on a file like this: > > ------ > Boxe - Preliminares > 09/08/2008 02:30 > 09/08/2008 05:45 > ------ > Handebol Masculino > 09/08/2008 22:00 > 09/08/2008 23:00 > ------ > V=F4lei de Praia - Masc. > 09/08/2008 23:00 > 10/08/2008 00:00 > > Here is the code I am trying to run with no success: > > REBOL[] > > corpo: { > > Evento: Boxe - Preliminares > In=EDcio: 09/08/2008 02:30 > Fim: 09/08/2008 05:45 > Sinopse: Acompanhe ao vivo as preliminares do boxe, categoria m=E9dio (at=E9 > 75kg), direto do Gin=E1sio dos Trabalhadores. > > Evento: Handebol Masculino > In=EDcio: 09/08/2008 22:00 > Fim: 09/08/2008 23:00 > Sinopse: Acompanhe ao vivo a estr=E9ia de Cro=E1cia x Espanha no torneio > masculino, em jogo v=E1lido pelo Grupo A, direto do Gin=E1sio do Centro > Ol=EDmpico. > > Evento: V=F4lei de Praia - Masc. > In=EDcio: 09/08/2008 23:00 > Fim: 10/08/2008 00:00 > Sinopse: Xu e Wu, da China, Gosch e Horst, da =C1ustria, disputam, nas areias > da Arena de V=F4lei de Praia, o jogo v=E1lido pela 1=AA rodada do Grupo A. > } > > out-file: to-file "arq.txt" > > parse corpo [ > > any > > [ > > thru "Evento:" copy evt to newline (write/append > out-file rejoin ["------" newline evt newline]) | > thru "In=EDcio:" copy ini to newline (write/append > out-file rejoin [ini newline]) | > thru "Fim:" copy fim to newline (write/append > out-file rejoin [fim newline]) | > > ] > > to end > > ] > > Thanks for any help >
rebol[] corpo: { Evento: Boxe - Preliminares In=EDcio: 09/08/2008 02:30 Fim: 09/08/2008 05:45 Sinopse: Acompanhe ao vivo as preliminares do boxe, categoria m=E9dio (at=E975kg), direto do Gin=E1sio dos Trabalhadores. Evento: Handebol Masculino In=EDcio: 09/08/2008 22:00 Fim: 09/08/2008 23:00 Sinopse: Acompanhe ao vivo a estr=E9ia de Cro=E1cia x Espanha no torneio masculino, em jogo v=E1lido pelo Grupo A, direto do Gin=E1sio do Centro Ol=EDmpico. Evento: V=F4lei de Praia - Masc. In=EDcio: 09/08/2008 23:00 Fim: 10/08/2008 00:00 Sinopse: Xu e Wu, da China, Gosch e Horst, da =C1ustria, disputam, nas areias da Arena de V=F4lei de Praia, o jogo v=E1lido pela 1=AA rodada do Grupo A. } out-file: to-file "arq.txt" write out-file "" parse/all corpo [ any[ thru "Evento:" copy evt thru newline (write/append out-file rejoin ["------" newline evt]) thru "In=EDcio:" copy ini thru newline (write/append out-file ini) thru "Fim:" copy fim thru newline (write/append out-file fim) ] ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ------ Boxe - Preliminares 09/08/2008 02:30 09/08/2008 05:45 ------ Handebol Masculino 09/08/2008 22:00 09/08/2008 23:00 ------ V=F4lei de Praia - Masc. 09/08/2008 23:00 10/08/2008 00:00 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; use parse/all with blocks of rules more often than not your order is fixed so alteration is not needed to end is only needed to get parse to return true bailing out early good morning and I think I will go have my cup of tea.