Avatar billede delirious Nybegynder
28. september 2004 - 12:02 Der er 9 kommentarer og
1 løsning

Hvordan parser man en string til vector?

Hvordan parser man en string til vector når string er lig med en vectors toString?
Avatar billede arne_v Ekspert
28. september 2004 - 12:07 #1
Der er ikke noget indbygget funktionalitet til det.

Og jeg mener også at det er svært generelt.
Avatar billede jakoba Nybegynder
28. september 2004 - 12:10 #2
Det kommer an på hvilke regler du ønsker at bruge for opdeling af strengen i forskellige vektor-elementer. det kunne fx være:
  hvert ord for sig
  hvert ','-adskilt stykke for sig
  hvert ord for sig læst som tal
  hver linie
  hvert bogstav
  bare ev vektor med strengen som eneste element

... og tusinder af andre mulige regler.

nok det vigtigste i programmering er at gøre det klart og utvetydigt for sig selv og andre hvad det egentlig er man vil.

mvh JakobA
Avatar billede arne_v Ekspert
28. september 2004 - 12:13 #3
Se dette eksempel på hvad man kan og jvad man ikke kan:

import java.util.*;

public class VectorString {
    public static void main(String[] args) throws Exception {
        Vector v = new Vector();
        v.add("a");
        v.add("bb");
        v.add("ccc");
        System.out.println(v);
        String s = v.toString();
        Vector v2 = new Vector();
        String[] elms = s.substring(1,s.length()-2).split(",");
        for(int i = 0; i < elms.length; i++) {
            v2.add(elms[i].trim());
        }
        System.out.println(v2);
        Vector v3 = new Vector();
        v3.add("a, b, c");
        v3.add("d, e, f");
        System.out.println(v3);
    }
}
Avatar billede arne_v Ekspert
28. september 2004 - 12:14 #4
Hov - om igen:

import java.util.*;

public class VectorString {
    public static void main(String[] args) throws Exception {
        Vector v = new Vector();
        v.add("a");
        v.add("bb");
        v.add("ccc");
        System.out.println(v);
        String s = v.toString();
        Vector v2 = new Vector();
        String[] elms = s.substring(1,s.length()-1).split(",");
        for(int i = 0; i < elms.length; i++) {
            v2.add(elms[i].trim());
        }
        System.out.println(v2);
        Vector v3 = new Vector();
        v3.add("a, b, c");
        v3.add("d, e, f");
        System.out.println(v3);
    }
}
Avatar billede arne_v Ekspert
28. september 2004 - 12:14 #5
Output:

[a, bb, ccc]
[a, bb, ccc]
[a, b, c, d, e, f]
Avatar billede arne_v Ekspert
28. september 2004 - 12:14 #6
(forskellen var at jeg havde brugt -2 i.s.f. det rigtige -1)
Avatar billede delirious Nybegynder
28. september 2004 - 12:15 #7
Nå men jeg har fundet ud af det selv :)
Avatar billede delirious Nybegynder
28. september 2004 - 12:17 #8
ahhh sådan kan man også gøre det - tak for hjælpen!
Avatar billede arne_v Ekspert
28. september 2004 - 12:20 #9
Ja, men bemærk det sidste eksempel v3 !
Avatar billede arne_v Ekspert
28. september 2004 - 19:45 #10
Jeg vil ligge et svar
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