[REBOL] Re: Stuck on Parse - Need Help
From: carlos::lorenz::gmail::com at: 6-Aug-2008 16:10
Thanks Tom!
2008/8/5 Tom <Tom.Conlin-gmail.com>
> 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 tornei
> o
> > 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 t
> his:
> >
> > ------
> > 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 tornei
> o
> > 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/ap
> pend
> > 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/appen
> d
> > 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 ar
> eias
> 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.
> --
> To unsubscribe from the list, just send an email to
> lists at rebol.com with unsubscribe as the subject.
>
--
Carlos Lorenz
www.revistaeletronica.com.br
Unidade Lorenz Ltda
(11) 4034 1971