Avatar billede bentblod Nybegynder
14. maj 2004 - 22:55 Der er 10 kommentarer og
1 løsning

J2ME spørgsmål, ang en lang streng

Hej, jeg er igang med at lave et program i j2me, hvor jeg skal have oplysninger ud fra en servlet, sender fint osv, problemet er bare at jeg får det hele tilbage i EN lang streng, og kender kun stringToKenizer som kan opdele den, men den understøtter j2me jo ikke... Så ville spørger om der er nogen der vidste hvordan man fik delt sådan en streng op, og samtidig overholder j2me's standard?

Tak for svar på forhånd
Avatar billede fsconsult.dk Nybegynder
14. maj 2004 - 22:59 #1
kender ik j2me, men kan du ikke bruger String.indexOf til at simulere StringTokenizer?
Avatar billede bentblod Nybegynder
15. maj 2004 - 00:29 #2
Hmm gider du prøve at skrive et eksempel på hvordan du bruger det?? hvis vi nu går ud fra at " " skiller de forskellige tekster ad.
Avatar billede mikkelbm Nybegynder
15. maj 2004 - 01:51 #3
Hvad med:

String tekst = "hej med dig";
String[] splittet = tekst.split(" ");

for (int i = 0; i<splittet.length; i++)
  System.out.println (splittet[i]);
Avatar billede mikkelbm Nybegynder
15. maj 2004 - 01:58 #4
Nu kender jeg heller ikke så meget til J2ME, så hvis String klassen ikke indeholder en split() metode, kan du måske finde lidt inspiration her:

http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=41&t=001519
Avatar billede scheea2000 Nybegynder
15. maj 2004 - 10:10 #5
Det havde været let men den findes ikke i min JDK version.
Nu kommer det også lidt an på hvad du skal lave - er det HTML output eller er det evt. din egen opfundne miniprotocol?

Anyway:

Kig nærmere på IndexOf, som fsconsult.dk antyder. Herefter kan du benytte substring til at cutte stringen op med, hvor du angiver start og slutindex. Jeg er ikke erfaren i Java, men substring drillede mig lidt, da substring tager tegnet på startindex med, men ikke slutindex, bare så du er opmærksom.

Hvis det kan hjælpe dig er der andre praktisk funktioner fx:
startsWith og endsWith, hvor du hurtigt kan teste indholdet, som du får fra din servlet, hvis det er nogenlunde statisk altså.
Avatar billede bentblod Nybegynder
16. maj 2004 - 18:31 #6
Ok har roddet lidt med det nu, den der split metode virker ikke... Men ved ikke lige hvordan jeg bruger den der indexOf, så kan i ikke lige skrive noget kode omkring hvordan jeg skal bruge den?
Avatar billede arne_v Ekspert
16. maj 2004 - 20:00 #7
Simpelt kode fragment:

      String s = "Dette er en String til \"test\".";
      int ix1 = s.indexOf('"');
      int ix2 = s.indexOf('"', ix1 + 1);
      String del = s.substring(ix1 + 1, ix2);
      System.out.println(del);

lidt mere komplekst eksempel:

public class Parse1 {
  public static void main(String[] args) {
      process("(name=id,type=string),(name=age,type=integer)");
  }
  private final static String NAME = "name=";
  private final static String TYPE = "type=";
  public static void process(String s) {
      int ix = 0;
      while (ix < s.length()) {
        int ixname = s.indexOf(NAME, ix);
        if (ixname <= 0)
            ixname = s.length();
        int ixtype = s.indexOf(TYPE, ix);
        if (ixtype <= 0)
            ixtype = s.length();
        if (ixname < ixtype) {
            int ixend = s.indexOf(",", ixname);
            String name = s.substring(ixname + NAME.length(), ixend);
            System.out.println("name: " + name);
            ix = ixend;
        } else if (ixtype < ixname) {
            int ixend = s.indexOf(")", ixtype);
            String name = s.substring(ixtype + TYPE.length(), ixend);
            System.out.println("type: " + name);
            ix = ixend;
        } else {
            ix = s.length();
        }
      }
  }
}
Avatar billede arne_v Ekspert
24. maj 2004 - 00:05 #8
Kommet videre ?
Avatar billede bentblod Nybegynder
24. maj 2004 - 22:43 #9
Sad og rodede med det idag, og synes den var lidt underlig da jeg skulle have flere ind, dvs 8 attributter der skulles sættes. Så er ikke kommet så meget videre, sorry jeg først skriver nu, har haft lidt travlt...
Avatar billede arne_v Ekspert
16. juni 2004 - 23:23 #10
??

(og et svar fra mig)
Avatar billede bentblod Nybegynder
17. juni 2004 - 11:57 #11
yeps fik det til at virke efter lang tid :)
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