Sonderzeichen beim usedelimiter

manius

Mitglied
Hi,
ich will runde klammern für usedelimiter vom scanner setzten? leider momentan ohne Erfolg!
„(“ oder "\\(" -> funktioniert nicht ;(

Gibt’s irgendwo eine einfache Übersicht der Formatierungen? Bin Anfänger im Java 🙂

was heißen z.B. die Formatierungen? (stand hier iregendwo in einem Posting...)
replaceAll("\\s+", "")
replaceAll("\\.,", ".0,")
replaceAll("\\.$", ".0");
replaceAll ("^\\d+\\s*", "")
replaceAll("\\.,", ".0,")
replaceAll("\\.$", ".0")

Werden die Zeichen “und” oder “oder” verknüpft?
z.B "\\.," .und, oder .oder, ???

für guten Link bin sehr Dankbar!

Gruß
 
Scanner erwartet als Delimeter nen Regex (Regulärer Ausdruck ? Wikipedia). Dort steht dann auch dass du Metazeichen, wie z.b. die Klammer escapen musst. In java wird daraus dann "\\(".
Folgender Code funktioniert aber bei mir:

Java:
        Scanner sc = new Scanner("123(456(789");
        sc.useDelimiter("\\(");

        while (sc.hasNext()) {
            System.out.println(sc.next());
        }
 
Hi EiKeB,
hmm komisch beim mir tut das nicht ???

String Test= "1+ (1,0) [0|0] \"\"";
Scanner t = new Scanner(Test);

t.useDelimiter("\\(");
if(t.hasNext("\\(")== true) <----ist hier false!!!!!!
{
String tmp2 = t.next();
}

String tmp3 = t.next(); //-> 1+
String tmp4 = t.next(); //-> 1,0) [0|0] ""

die Seite auf Wikipedia ist nicht schlecht !!!! muss erst aber durchlesen..... 🙂))
 
Wenn du vorher schon den delimeter setzt brauchst du den nicht nochmal bei hasNext() angeben.
Schreib mal
Code:
if(t.hasNext())
, das sollte klappen.
 

Neue Themen


Zurück
Oben