2011-01-17 29 views
1

Was ist der reguläre Ausdruck in Java zum Teilen eines Strings wie: [space]0[space] (Leerzeichen gefolgt von Null gefolgt von Leerzeichen)?Regulärer Ausdruck in Java

z.B.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 

spaltet, wie:

123456789101112131415 

und

12345 
+0

ist dies ein Beispiel, oder eine aktuelle Liste von ganzen Zahlen? Es scheint sowieso sehr einfach ohne eine Regex zu sein. – Kobi

Antwort

5
String[] split = string.split(" 0 "); 

Es sei denn, Sie "jede Leerzeichen" gemeint, wenn Sie Platz sagte. Oder "eine Folge von einem oder mehreren Leerzeichen".

+0

yup vielen Dank –

+0

Was ist mit dem einen am Start? '0 1 2 3' ->' 123'. Ja, ich weiß, schlechte Spezifikationen ... – Kobi

+0

ja, schlechte Spezifikationen. – Thilo

0

sollte diese Arbeit:

string.split("\\s0\\s"); 
+0

yup danke viel –

1

Wenn Sie nichts dagegen haben zusätzliche Räume mit: \b0\b.

Wenn Sie Leerzeichen entfernen wollen, soll dies auch für den Anfang und das Ende Null arbeiten: \s?\b0\b\s?

+0

+1 für Hinweis, dass die Spezifikation nicht mit dem Beispiel übereinstimmt. – Thilo

+0

Vorsichtig mit Java-Zeichenklassen-Shortcuts: Sie sind verrückt. – tchrist

+0

@tchrist - Ich weiß. * Offensichtlich * meinte ich, das OP sollte die alternative Regex-Bibliothek verwenden, die du schreibst ':)' (OK, J/K, aber ich hoffe, es ist in Ordnung, wenn es um reguläre Leerzeichen und reguläre Nullen geht) – Kobi