/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Indkapsling af tekst i en fil?
Fra : David Poulsen


Dato : 11-02-03 11:19

Hejsa NG

Jeg har et lille problem, jeg kan lige se hvordan jeg skal indkapsle min
tekst f.eks. <alert>Hejsa</alert> her vil jeg gerne indkapsle det der er
imellem <> og </> tegnene...

Er der nogen der kan hjælpe mig??

Takker

Mvh

David



 
 
Karl Peder Olesen (11-02-2003)
Kommentar
Fra : Karl Peder Olesen


Dato : 11-02-03 17:20

On Tue, 11 Feb 2003 11:19:18 +0100, "David Poulsen"
<dpoulsen@e-box.dk> wrote:

>Hejsa NG
>
>Jeg har et lille problem, jeg kan lige se hvordan jeg skal indkapsle min
>tekst f.eks. <alert>Hejsa</alert> her vil jeg gerne indkapsle det der er
>imellem <> og </> tegnene...
>
>Er der nogen der kan hjælpe mig??
>
Hej,

Kunne du måske uddybe lidt nærmere hvad problemet går ud på - hvad
mener du med at indkapsle? Har du en tekst - "Hejsa" - som du vil
skrive til en fil som "<alert>Hejsa</alert>"? Eller hvad mener du?

Hvis du gider skrive lidt nærmere - så kommer der nok en hjælpende
hånd vil jeg tro.

mvh
Karl Peder


David Poulsen (11-02-2003)
Kommentar
Fra : David Poulsen


Dato : 11-02-03 18:28

Jeg synes nu jeg gjorde mig ret forstående men man skal heller ikke losse
til de umælende dyr

Jeg har en fil som jeg indlæser i mit program, når mit program så støder på
en sætning med <"tekst">etellerandet</tekst> så skal den læse det der står i
mellem <></>

Lidt ligesom HTML.

Mit projekt går ud på at lave mit egen script sprog...

Mvh

David



soren davidsen (11-02-2003)
Kommentar
Fra : soren davidsen


Dato : 11-02-03 20:12

"David Poulsen" <dpoulsen@e-box.dk> writes:

> Jeg synes nu jeg gjorde mig ret forstående men man skal heller ikke losse
> til de umælende dyr
>
> Jeg har en fil som jeg indlæser i mit program, når mit program så støder på
> en sætning med <"tekst">etellerandet</tekst> så skal den læse det der står i
> mellem <></>
>
> Lidt ligesom HTML.
>
> Mit projekt går ud på at lave mit egen script sprog...

er det 'tag' navnet du vil have, eller den tekst som tag'et indeholder ?

<tag>tekst</tag>


mvh,

--

school:soren.davidsenATturtle.math.klte.hu//math-institute/uni-debrecen
other:sorenATtanesha.net//www.tanesha.net

Jesper Sørensen (11-02-2003)
Kommentar
Fra : Jesper Sørensen


Dato : 11-02-03 20:49

"soren davidsen" <soren-usenet200302@tanesha.net> wrote in message
news:87hebaocnc.fsf@tanesha.net...
> "David Poulsen" <dpoulsen@e-box.dk> writes:
>
> > Jeg synes nu jeg gjorde mig ret forstående men man skal heller ikke
losse
> > til de umælende dyr
> >
> > Jeg har en fil som jeg indlæser i mit program, når mit program så støder

> > en sætning med <"tekst">etellerandet</tekst> så skal den læse det der
står i
> > mellem <></>
> >
> > Lidt ligesom HTML.
> >
> > Mit projekt går ud på at lave mit egen script sprog...
>
> er det 'tag' navnet du vil have, eller den tekst som tag'et indeholder ?
>
> <tag>tekst</tag>

Ja det er det. Du kan bruge XML klasserne de er nemme at anvende og så
slipper du for at lave parseren selv :).
http://java.sun.com/webservices/docs/1.0/tutorial/index.html

mvh
JS



Trygleren [9000] (12-02-2003)
Kommentar
Fra : Trygleren [9000]


Dato : 12-02-03 14:20

>> Mit projekt går ud på at lave mit egen script sprog...

> Du kan bruge XML klasserne de er nemme at anvende og så
> slipper du for at lave parseren selv :).

Og så har han ikke lavet sit eget sprog, som opgaven gik ud på.


--
"Sic gorgiamus allos subjectatos nunc"
Lars 'Trygleren' Winther

www.hesteskelet.dk/newsgroup




Jesper Sørensen (12-02-2003)
Kommentar
Fra : Jesper Sørensen


Dato : 12-02-03 17:25

"Trygleren [9000]"
>
> Og så har han ikke lavet sit eget sprog, som opgaven gik ud på.
>

Han skal jo selv definere sproget i et DTD fx. Men du har da ret i at han
ikke skal lave en skanner / parser som jeg jo også skrev :).

Altså bare fordi html kan defineres i XML er det ikke ensbetydende med at
dem der har opfundet HTML ikke selv har lavet sproget.


mvh
JS




Michael Banzon (12-02-2003)
Kommentar
Fra : Michael Banzon


Dato : 12-02-03 18:35

> Altså bare fordi html kan defineres i XML er det ikke ensbetydende med at
> dem der har opfundet HTML ikke selv har lavet sproget.

Er det ikke de samme mennesker???

/ Michael



Jonas Kongslund (12-02-2003)
Kommentar
Fra : Jonas Kongslund


Dato : 12-02-03 18:51

Michael Banzon wrote:

>> Altså bare fordi html kan defineres i XML er det ikke ensbetydende med at
>> dem der har opfundet HTML ikke selv har lavet sproget.
>
> Er det ikke de samme mennesker???

I hvert fald samme konsortium.

XML kunne i øvrigt fejre sin 5-års fødselsdag i mandags.

--
Jonas Kongslund
The programmer, like the poet, works only slightly removed from pure
thought-stuff. He builds his castles in the air, from air, creating by
exertion of the imagination. [Brooks, The Mythical Man-Month]

Jesper Sørensen (12-02-2003)
Kommentar
Fra : Jesper Sørensen


Dato : 12-02-03 19:39

"Jonas Kongslund" <gamma@post.tele.dk> wrote in message
news:3e4a8984$0$166$edfadb0f@dread14.news.tele.dk...
> Michael Banzon wrote:
>
> >> Altså bare fordi html kan defineres i XML er det ikke ensbetydende med
at
> >> dem der har opfundet HTML ikke selv har lavet sproget.
> >
> > Er det ikke de samme mennesker???

hehe good point - havde jeg ikke lige tænkt over :)



David Poulsen (11-02-2003)
Kommentar
Fra : David Poulsen


Dato : 11-02-03 21:17


"soren davidsen" <soren-usenet200302@tanesha.net> wrote in message
news:87hebaocnc.fsf@tanesha.net...
> "David Poulsen" <dpoulsen@e-box.dk> writes:
>
> > Jeg synes nu jeg gjorde mig ret forstående men man skal heller ikke
losse
> > til de umælende dyr
> >
> > Jeg har en fil som jeg indlæser i mit program, når mit program så støder

> > en sætning med <"tekst">etellerandet</tekst> så skal den læse det der
står i
> > mellem <></>
> >
> > Lidt ligesom HTML.
> >
> > Mit projekt går ud på at lave mit egen script sprog...
>
> er det 'tag' navnet du vil have, eller den tekst som tag'et indeholder ?
>
> <tag>tekst</tag>
>
>


Det er begge dele, i første omgang kun det der stå i tag <tag></tag>

/david



Jimmy Klitgaard [900~ (12-02-2003)
Kommentar
Fra : Jimmy Klitgaard [900~


Dato : 12-02-03 11:39

"David Poulsen" <dpoulsen@e-box.dk> skrev i en meddelelse
news:loa2a.77445$Hl6.7588358@news010.worldonline.dk...

> Mit projekt går ud på at lave mit egen script sprog...

Det lader til, at du ikke er på jagt efter en færdig XML parser og/eller
fortolker, da det er til en opgave du selv skal løse. Jeg tror jeg har en
mulig løsning på problemos.

1) Læs din fil ind i en StringBuffer
2) Brug DinStringBuffer.indexOf("<") til at finde start på tag og
efterfølgende slut på tag.
3) Klip Data mellem de to tags ud med metoden getChars, evt. efterfulgt af
..toString()
4) Gem denne som key
5) Find næste start tag "<\" (og slut tag ">")
6) Klip data mellem sidste slut tag og nye start tag og gem i string
variabel kaldet value.
7) Evt. klippe det læste data ud fra StringBufferen til sidst.

Ovenstående kan implementeres i en metode der returnerer næste key og value.
Den kaldende funktion kan således køre en switch på de forskellige keys og
have forskellig funktionalitet afhængig af hvilken key der var i filen.

switch (key){
case: key.equals("alert")
bla bla
case: key.equals(".....
}

Håber dette er til lidt hjælp.

Mvh
Jimmy



David Poulsen (12-02-2003)
Kommentar
Fra : David Poulsen


Dato : 12-02-03 13:03

Tusind tak.

Det var lige den vejledning jeg skulle bruge

Du har reddet min dag.... Ellers ville jeg havde brugt mere tid på det, og
så skal jeg igang med at læse API igennem igen... hehe

Takker

Mvh

David



Anders K. Olsen (12-02-2003)
Kommentar
Fra : Anders K. Olsen


Dato : 12-02-03 22:37

"David Poulsen" <dpoulsen@e-box.dk> skrev i en meddelelse
news:8Kq2a.83281$Hl6.7687321@news010.worldonline.dk...
> Tusind tak.
>
> Det var lige den vejledning jeg skulle bruge
>
> Du har reddet min dag.... Ellers ville jeg havde brugt mere tid på det, og
> så skal jeg igang med at læse API igennem igen... hehe

Overvej at kikke lidt på Regular Expressions. Det er en ny funktionalitet i
Java 1.4, og det er rigtig godt hvis man skal parse en tekst. Det er måske
lidt kompliseret at sætte sig ind i, men det er tilgengæld meget kraftfuldt
hvis man først mestrer det.

Du kan finde en tutorial her:
http://java.sun.com/docs/books/tutorial/extra/regex/index.html, og sikkert
også mange andre steder på nettet, hvis du prøver at søge lidt efter de.

God fornøjelse.

/Anders



Jonas Kongslund (12-02-2003)
Kommentar
Fra : Jonas Kongslund


Dato : 12-02-03 22:51

Anders K. Olsen wrote:
> Overvej at kikke lidt på Regular Expressions. Det er en ny funktionalitet
> i Java 1.4, og det er rigtig godt hvis man skal parse en tekst. Det er
> måske lidt kompliseret at sætte sig ind i, men det er tilgengæld meget
> kraftfuldt hvis man først mestrer det.

Hvis man har behov for at parse tekster ud fra en kontekstfri grammatik, som
ikke kan beskrives vha. regulære udtryk, så kan jeg anbefale at man bruger
JavaCC. Det er en parsergenerator i stil med YACC.

Programmet kan hentes her:
http://www.webgain.com/products/java_cc/

Forskellige grammatikker i JavaCC-format, herunder XML:
http://www.cobase.cs.ucla.edu/pub/javacc/

JavaWorld artikel: Build your own languages with JavaCC
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-cooltools_p.html

--
Jonas Kongslund
The programmer, like the poet, works only slightly removed from pure
thought-stuff. He builds his castles in the air, from air, creating by
exertion of the imagination. [Brooks, The Mythical Man-Month]

Rune Simonsen (12-02-2003)
Kommentar
Fra : Rune Simonsen


Dato : 12-02-03 17:55

On Wed, 12 Feb 2003 11:39:04 +0100, "Jimmy Klitgaard [9000]"
<jimmy@NOSPAMmi.auc.dk> wrote:

> Ovenstående kan implementeres i en metode der returnerer næste key og value.
> Den kaldende funktion kan således køre en switch på de forskellige keys og
> have forskellig funktionalitet afhængig af hvilken key der var i filen.

Alternativt, hvis det skal være lidt mere fancy dvs. kunne finde tags
inde i tags inde i tags.. osv.

altså kunne læse noget ala
"<i>her er kursive og ikke <b>fede</b> bogstaver</i>."

funktion AnalyserStreng(s : String)
0. Hvis der ikke er nogle tags i s er du færdig(*) ellers følgende:
1. Find starten på første tag.
(1.5). Der sættes en eller anden option for hele denne delstreng, som
gør, at du ved, at det hele skal være (i dette tilfælde) kursivt.
2. læs herfra og hen til slutningen af tag'et fra (1). Ignorer andre
typer tags du finder på "vejen".
3. kør AnalyserStreng på (2)

Det er lidt svært at komme med 1.5, for det afhænger en del af hvad du
ønsker at gøre med de fundne tags. Ligeså med *. Med denne rekursive
måde er du i hvert fald sikker på at komme helt "i bund" selvom der
står masser af tags inde i hinanden.

Det er nok lidt besværligt at skrive, og du skal overveje hvilken
datastruktur du vil gemme det fundne i(f.eks. en flok objekter der
alle implementerer et eller andet interface der beskriver hvad der
altid skal gøres med en stump fra den oprindelige streng - hvis disse
smides i en rekursiv linked liste kan man lave smarte ting), men det
er meget effektivt og fleksibelt og du kan lave et meget kraftigs
scriptsprog ud af det.

Det kan dog nemt blive skyde-gråspurve-med-kanoner, men igen afhængig
af hvad du ønsker.

--

Rune Simonsen

Søg
Reklame
Statistik
Spørgsmål : 177492
Tips : 31966
Nyheder : 719565
Indlæg : 6408466
Brugere : 218886

Månedens bedste
Årets bedste
Sidste års bedste