String parsen in Java

Status des Themas:
Es sind keine weiteren Antworten möglich.

Diskutiere String parsen in Java im Java Basics - Anfänger-Themen Forum; Hallo allerseits, ich möchte gerne einen String parsen und die einzelnen Elemente dann weiterverwerten. Dabei stößt man auf Zahlen und Strings,...

  1. M.C.S.
    M.C.S. Neues Mitglied
    Hallo allerseits,

    ich möchte gerne einen String parsen und die einzelnen Elemente dann weiterverwerten. Dabei stößt man auf Zahlen und Strings, die in einem Verhältnis zueinander stehen. Das ganze habe ich bis jetzt mit StringTokenizer realisiert.

    Vorher habe ich in Smalltalk programmiert, und da ging das meines Erachtens nach viel eleganter mit Streams, die man auf Strings legen konnte. Geht das in Java auch oder ist hier der StringTokenizer _der_ Weg zum Parsen von Strings?

    Falls ihr wissen wollt, was geparst werden soll, hier ein Link zu einen Beispiel:
    Spionagebericht aus einem Browser-Game

    Gruß,
    Marcus

    Edit:
    Um die erste Zeile zu parsen, habe ich z.B. folgenden Code geschrieben, den ich aber ziemlich klobig finde:
    Code (Text):

        private void parseSB(String sb) {
            Boolean gefunden = false;
            String token, position;
            StringTokenizer st1, st2;

            st1 = new StringTokenizer(sb, "\n");
            while (st1.hasMoreTokens() && !gefunden) {
                token = st1.nextToken();
                if (token.startsWith("Spionagebericht:")) {
                    gefunden = true;
                    st2 = new StringTokenizer(token);
                    // Überspringe "Spionagebericht:"
                    st2.nextToken(":");
                    // Alles bis zu "(" ist Koloniename
                    kolonie = st2.nextToken("(").substring(1).trim();
                    System.out.println(kolonie);
                    // bis ")" gehört zur Position
                    position = st2.nextToken(")").substring(1);
                    System.out.println(position);
                    // der Rest ist der Spielername
                    spieler = st2.nextToken("\n").substring(1).trim();
                    System.out.println(spieler);

                    // Position zerteilen in Koordinaten-Argumente
                    st1 = new StringTokenizer(position, ":");
                    x = Integer.parseInt((String) st1.nextElement());
                    y = Integer.parseInt((String) st1.nextElement());
                    planet = Integer.parseInt((String) st1.nextElement());

                }
            }
        }
     
     
  2. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
  3. byte
    byte Neues Mitglied
    Schau Dir mal Regex an.
     
  4. M.C.S.
    M.C.S. Neues Mitglied
    Ah schön. Da gibt es ja auch mit split(String s) das Gegenstück zu "asCollectionOfSubstrings". Fein fein. Ich muss mich wohl doch mal mit regex anfreunden.

    Streams helfen aber trotzdem nicht, oder?
     
  5. bygones
    bygones Guest
    was willst du mit Streams wenns ums reine splitten geht ?

    Schau dir die Klassen Pattern / Matcher / Scanner an
     
  6. M.C.S.
    M.C.S. Neues Mitglied
    Keine Ahnung! Ich steige halt um von Smalltalk auf Java, und in Smalltalk konnte man auch sowohl mit String als auch mit Streams auf Strings arbeiten, wobei letzteres einen _immensen_ Geschwindigkeitsvorteil brachte. Hätte ja sein können, dass das Verwenden von Streams unter Java auch Vorteile hat. Aber nach euren Aussagen scheint dem ja nicht so zu sein, danke.
     
  7. byte
    byte Neues Mitglied
    Gibt natürlich auch in Java eine Menge unterschiedlicher Streams. Aber für Stringoperationen benutzt man halt String oder StringBuffer oder StringBuilder oder Regex in Java.
     
Die Seite wird geladen...

String parsen in Java - Ähnliche Themen

Stringeingabe aus z.B. "4,d,<" parsen
Stringeingabe aus z.B. "4,d,<" parsen im Forum Java Basics - Anfänger-Themen
JAVA String schnell parsen
JAVA String schnell parsen im Forum Java Basics - Anfänger-Themen
String Parsen und auf eigenes Muster anwenden (kein Regex)
String Parsen und auf eigenes Muster anwenden (kein Regex) im Forum Allgemeine Java-Themen
Beliebigen Datentypen aus String parsen
Beliebigen Datentypen aus String parsen im Forum Java Basics - Anfänger-Themen
String aus Json File parsen
String aus Json File parsen im Forum Java Basics - Anfänger-Themen
Status des Themas:
Es sind keine weiteren Antworten möglich.
Thema: String parsen in Java