split-fehler

Anubis87

Grünschnabel
Hallo zusammen,

Ich habe ein hoffentlich einfaches Problem mit dem Split eines Strings:

Beispiel:
ich hab z.b. den String "ich ( habs )" , und will den in "ich" und "habs" trennen.

Mein Ansatz:
String line = "ich ( habs )";
String[] splitarray;
splitarray = line.split( " ( " );
String ladeitem = splitarray[0];
String ladestufe = splitarray[1].replace(" )", "");

Mein erwüschtes Ergebniss:
splitarray[0] = "ich";
splitarray[1] = "habs",

Mein wirkliches Ergebnis:
"java.util.regex.PatternSyntaxException: Unclosed group near index 1
(
"
Wenn ich bei einzelnen Buchstaben splitte dann geht alles wunderbar... da mein String aber variabel ist muss ich ihn bei " ( " trennen. Hat jemand eine Idee warum das so nicht geht? Oder vlt eine andere Lösung ?
 
Zuletzt bearbeitet:
Nimm mal ein \\( und \\)

Ein Split benutzt einen Regulären Ausdruck (Schau mal bei der Klassen Pattern) und dort wird eine Klammer zum gruppieren benutzt und muss daher escaped werden wenn man nach dem eigentlichen Zeichen suchen möchte.
 
Ohje da hät man drauf kommen können :D

Mit "splitarray = line.split( "\\ \\(\\ " ); " geht alles wie gewünscht.

Danke für die schnelle Hilfe ;-)
 
Zurück