Avatar billede dennish Nybegynder
17. april 2007 - 18:12 Der er 4 kommentarer og
1 løsning

String , split

Hej jeg har følgende Streng jeg gerne vil lave split på.

String a ="20111,20123,Edith,Hansen,Rasmussen,2,D,Danmark,8,Butinnavn,østerbre,A,F,892,Vareafd.,CM + planogram,REK,Lagerassistent";
Jeg vil gerne lave a.split på strengen

a) 
String[] split = new String[0];
split = a.split(",");

Prøvede første med komma, men det dur ikke idet posten Butinnavn,østerbre(som er sammensat) indeholder et komma
Har prøvet med mellemrum

b)
String[] split = new String[0];
split = a.split(" ");
Prøvede så med mellemrum med det dur heller ikke idet posten CM + planogram indehodler mellemrum

Jeg har søgt på nettet men kan umiddelbar ikke finde en løsning på mit problem er der nogen der kan hjælpe ?
Avatar billede mikkelbm Nybegynder
17. april 2007 - 18:15 #1
Er det dig selv der genererer den string? Hvis ja, så brug eventuelt ; til at splitte på.

Hvis nej, så bliver det svært, medmindre at strengen ALTID ser sådan der ud. For hvis den gør det, ved du jo også hvilke indexes i arrayet de forskellige værdier ligger i.
Avatar billede dennish Nybegynder
17. april 2007 - 18:27 #2
mikkelbm>> Nej jeg generer ikke selv strengen. Den kommer fra en kommasepereret fil fra et databaseudtræk. Jeg bruger CSVReader (opencvs jar fil)til at læse en linie ad gange fra filen. Kan dog godt via CSVReader hente enkelte positioner ud fra min kommasepereret fil
Det ser sådan her ud

Stack allUsers = new Stack();
String[] nextLine;
while ((nextLine = csvReader.readNext()) != null) {               
allUsers.add(nextLine[0]+";"+nextLine[1]+";"+nextLine[2]+";"+nextLine[3]+";"+nextLine[4]+";"+nextLine[5]          +";"+nextLine[6]+";"+nextLine[7]+";"+nextLine[8]+";"+nextLine[9]+";"+nextLine[10]+";"+nextLine[11]+";"+nextLine[12]
+";"+nextLine[13]+";"+nextLine[14]);
}

Har nu på stakken en lang streng adskilt af ;, hvilke jo sådan set virker.
Jeg Itererer senere hen over stakken og det er her jeg så gerne vil bruge split til at udtage de enkelte postioner

Har tænkt selv tænkt at bruge ; til at splitte med.
Men hvis nu jeg f.eks. får et butiknavn= Butiknavn;Lisesbutik, får jeg et
problem. Jeg kunne selvfølgelig bruger noget fuldstændig foo bar såsom
@;@@@ og håber på at der ikke der nogen der skrive @;@@ i databasen
Avatar billede mikkelbm Nybegynder
17. april 2007 - 22:04 #3
Jeg har ikke umiddelbart et løsningsforslag, for jeg kan ikke gennemskue hvad du har adgang til at ændre i og hvad du ikke har adgang til...
Avatar billede dennish Nybegynder
23. april 2007 - 16:04 #4
mikkelbm>> anyway tak for dit forsøg.
Avatar billede dennish Nybegynder
23. april 2007 - 16:04 #5
tilader mig at lukke spørgsmålet
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester