/ 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
Opdeling af streng
Fra : Kasper Ovi


Dato : 29-05-02 12:36

Hvordan får lagt indholdet af følgende tekst-streng ind i et array:

"Indhold1", "Indhold 2", "Indhold 3"

array[0] = Indhold1
array[1] = Indhold2
array[3] = Indhold3

??

Mvh
Kasper



 
 
Dennis Thrysøe (29-05-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 29-05-02 13:04

Kan du uddybe spørgsmålet lidt?

Umiddelbart ser det eneste der er galt med din kodestump ud til at være
manglende semikoloner efter hvert statement (linie i dette tilfælde).

-dennis


Kasper Ovi wrote:
> Hvordan får lagt indholdet af følgende tekst-streng ind i et array:
>
> "Indhold1", "Indhold 2", "Indhold 3"
>
> array[0] = Indhold1
> array[1] = Indhold2
> array[3] = Indhold3
>
> ??
>
> Mvh
> Kasper
>
>


Kasper Ovi (29-05-2002)
Kommentar
Fra : Kasper Ovi


Dato : 29-05-02 13:42


"Dennis Thrysøe" <dt@netnord.dk> wrote in message
news:3CF4C3C6.80804@netnord.dk...
> Kan du uddybe spørgsmålet lidt?

Ja, meget gerne. For jeg kan se at jeg ikke lige har formuleret problemet
tilstrækkeligt.

Mit problem går på at jeg vil indlæse følgende linje fra en tekstfil:
"Indhold1", "Indhold 2", "Indhold 3"

Derefter vil jeg lave en kode som automatisk finder ud af at putte Indhold1
ind i array[0] osv. som beskrevet nedfor.

Jeg ved bare ikke hvordan jeg får "delt" strengen op, fjernet kommaer og
anførselstegn, således at programmet selv finder ud af det...

Mvh
Kasper

> > Hvordan får lagt indholdet af følgende tekst-streng ind i et array:
> >
> > "Indhold1", "Indhold 2", "Indhold 3"
> >
> > array[0] = Indhold1
> > array[1] = Indhold2
> > array[3] = Indhold3
> >
> > ??
> >
> > Mvh
> > Kasper
> >
> >
>
>



Søren Hjelholt (29-05-2002)
Kommentar
Fra : Søren Hjelholt


Dato : 29-05-02 13:59

"Kasper Ovi" <kovi@sol.dk> wrote in
news:y14J8.7147$JH6.126731455@news.orangenet.dk:

>
> "Dennis Thrysøe" <dt@netnord.dk> wrote in message
> news:3CF4C3C6.80804@netnord.dk...
>> Kan du uddybe spørgsmålet lidt?
>
> Ja, meget gerne. For jeg kan se at jeg ikke lige har formuleret
> problemet tilstrækkeligt.
>
> Mit problem går på at jeg vil indlæse følgende linje fra en tekstfil:
> "Indhold1", "Indhold 2", "Indhold 3"
>
> Derefter vil jeg lave en kode som automatisk finder ud af at putte
> Indhold1 ind i array[0] osv. som beskrevet nedfor.
>
> Jeg ved bare ikke hvordan jeg får "delt" strengen op, fjernet kommaer
> og anførselstegn, således at programmet selv finder ud af det...
>

Prøv at kigge på StringTokenizer, der netop er beregnet til at opdele
tekststrenge med. Som stad. opdeler den vist på mellemrum, men du kan selv
definere hvilke skilletegn den skal bruge, sandsynligvis komma i dit
tilfælde. På denne måde slipper du også udenom selv at skulle fjerne
kommaerne, da Tokenizeren ikke læser disse med. StringTokenizer findes i
java.util.*; pakken

--
Søren Hjelholt

"Døm din succes ud fra, hvad du har opgivet for at opnå den" - Dalai Lama

Ps. Fjern _nospam_ fra min mailadresse, hvis du vil sende en e-mail til mig.

Dennis Thrysøe (29-05-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 29-05-02 14:22

Søren Hjelholt wrote:
> "Kasper Ovi" <kovi@sol.dk> wrote in
> news:y14J8.7147$JH6.126731455@news.orangenet.dk:
>
>
>>"Dennis Thrysøe" <dt@netnord.dk> wrote in message
>>news:3CF4C3C6.80804@netnord.dk...
>>
>>>Kan du uddybe spørgsmålet lidt?
>>
>>Ja, meget gerne. For jeg kan se at jeg ikke lige har formuleret
>>problemet tilstrækkeligt.
>>
>>Mit problem går på at jeg vil indlæse følgende linje fra en tekstfil:
>>"Indhold1", "Indhold 2", "Indhold 3"
>>
>>Derefter vil jeg lave en kode som automatisk finder ud af at putte
>>Indhold1 ind i array[0] osv. som beskrevet nedfor.
>>
>>Jeg ved bare ikke hvordan jeg får "delt" strengen op, fjernet kommaer
>>og anførselstegn, således at programmet selv finder ud af det...
>>
>
> Prøv at kigge på StringTokenizer, der netop er beregnet til at opdele
> tekststrenge med. Som stad. opdeler den vist på mellemrum, men du kan selv
> definere hvilke skilletegn den skal bruge, sandsynligvis komma i dit
> tilfælde. På denne måde slipper du også udenom selv at skulle fjerne
> kommaerne, da Tokenizeren ikke læser disse med. StringTokenizer findes i
> java.util.*; pakken

Faktisk kunne man opdele både på komma og anførselsteg og evt.
mellemrum. Så kunne man bede StringTokenizer om at aflevere alt som
tokens, og derefter tage stilling til hvilke man er interesseret i.

Altså springe over alle de tre ovenstående. Med mindre selvfølgelig der
må være mellemrum eller komma inden for anførselstegnene i filen.

-dennis


Povl H. Pedersen (29-05-2002)
Kommentar
Fra : Povl H. Pedersen


Dato : 29-05-02 20:07

On Wed, 29 May 2002 14:42:02 +0200,
Kasper Ovi <kovi@sol.dk> wrote:
....
> Mit problem går på at jeg vil indlæse følgende linje fra en tekstfil:
> "Indhold1", "Indhold 2", "Indhold 3"
>
> Derefter vil jeg lave en kode som automatisk finder ud af at putte Indhold1
> ind i array[0] osv. som beskrevet nedfor.
>
> Jeg ved bare ikke hvordan jeg får "delt" strengen op, fjernet kommaer og
> anførselstegn, således at programmet selv finder ud af det...

Det er let.
Først splittes op på ,
Herefter vælges tegnet mellem første og sidste "

Men hvis vi taler om rigtige kommaseparerede filer, så skal du huske på,
at følgende
"Det er, et gåseøje """, """"

skal resultere i følgende 2 inputelementer:
Det er, et gåseøje "
"

Så du skal altså parse strengen et tegn af gangen, og hvis du er inde i
en åben " så skal komma bare kopieres til output, og " skal medføre du
ser på næste tegn. Hvis dette også er " så skal der kopieres en kopi til
output. Ellers er strengen slut, og du "lukker" første gåseøje, og leder
efter ,

Rigtig CSV kræver heller ikke "" om rene alfanumeriske elementer
[A-Za-z0-9].

--
Povl H. Pedersen -
Use 2 letters from first+last name to form username@home.terminal.dk
This article was written without the use of Micros~1 Windows

Niels Ull Harremoës (01-06-2002)
Kommentar
Fra : Niels Ull Harremoës


Dato : 01-06-02 21:17

Se evt. http://ostermiller.org/utils/CSVLexer.html
- den gør det hele for dig.
Det bliver også lidt mere komplekst, hvis du fx skal håndtere
"En \"sjov\" tekt", "",, "foo"


"Povl H. Pedersen" <nospam@home.terminal.dk> wrote in message
news:slrnafa9mr.2fi.nospam@home.terminal.dk...
> On Wed, 29 May 2002 14:42:02 +0200,
> Kasper Ovi <kovi@sol.dk> wrote:
> ...
> > Mit problem går på at jeg vil indlæse følgende linje fra en tekstfil:
> > "Indhold1", "Indhold 2", "Indhold 3"
> >
> > Derefter vil jeg lave en kode som automatisk finder ud af at putte
Indhold1
> > ind i array[0] osv. som beskrevet nedfor.
> >
> > Jeg ved bare ikke hvordan jeg får "delt" strengen op, fjernet kommaer og
> > anførselstegn, således at programmet selv finder ud af det...
>
> Det er let.
> Først splittes op på ,
> Herefter vælges tegnet mellem første og sidste "
>
> Men hvis vi taler om rigtige kommaseparerede filer, så skal du huske på,
> at følgende
> "Det er, et gåseøje """, """"
>
> skal resultere i følgende 2 inputelementer:
> Det er, et gåseøje "
> "
>
> Så du skal altså parse strengen et tegn af gangen, og hvis du er inde i
> en åben " så skal komma bare kopieres til output, og " skal medføre du
> ser på næste tegn. Hvis dette også er " så skal der kopieres en kopi til
> output. Ellers er strengen slut, og du "lukker" første gåseøje, og leder
> efter ,
>
> Rigtig CSV kræver heller ikke "" om rene alfanumeriske elementer
> [A-Za-z0-9].
>
> --
> Povl H. Pedersen -
> Use 2 letters from first+last name to form username@home.terminal.dk
> This article was written without the use of Micros~1 Windows



Lasse Westh-Nielsen (29-05-2002)
Kommentar
Fra : Lasse Westh-Nielsen


Dato : 29-05-02 13:12


"Kasper Ovi" <kovi@sol.dk> wrote in message
news:T33J8.7144$GN5.122929267@news.orangenet.dk...
> Hvordan får lagt indholdet af følgende tekst-streng ind i et array:
>
> "Indhold1", "Indhold 2", "Indhold 3"
>
> array[0] = Indhold1
> array[1] = Indhold2
> array[3] = Indhold3

Er det noget i retning af det her du gerne vil gøre...?

String [] mineStrenge = new String[117];

mineStrenge[0] = "streng 1";
mineStrenge[1] = "streng 2";
osv...

Mvh Lasse





Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste