Wie lasse ich Java beim Teilen die Anzahl der Leerzeichen in einer Zeichenfolge ignorieren? [Duplikat]

7

Beide Python-Zeilen geben mir genau dieselbe Liste:

%Vor%

Ausgabe:

%Vor%

Ich war überrascht, als die Java-Entsprechungen ablehnten:

%Vor%

Ausgabe:

%Vor%

Wie lasse ich Java die Anzahl der Leerzeichen ignorieren?

    
Tshepang 01.02.2011, 11:12
quelle

4 Antworten

20

Versuchen Sie Folgendes:

%Vor%

Das Argument wurde an split() ist ein Regex. Sie können also angeben, dass das Trennzeichen ein oder mehrere Leerzeichen enthalten darf.

Wenn Sie Tabs und andere Leerzeichen als Trennzeichen zulassen, verwenden Sie "\ s":

%Vor%

Und wenn Sie erwarten, nachgestellte Leerzeichen wie in " 1 2 3 " zu haben, verwenden Sie Folgendes:

%Vor%     
arnaud576875 01.02.2011, 11:14
quelle
4

Wie wäre es mit einem ordentlichen regulären Ausdruck ? Beachten Sie, dass gemäß der Java-API-Dokumentation String.split nimmt einen regulären Ausdruck String-Parameter.

%Vor%     
Uszui 01.02.2011 11:21
quelle
3

Ich denke, das sollte tun:

%Vor%     
Costi Ciudatu 01.02.2011 11:23
quelle
0

Ich bevorzuge "1 2 3".split("\s+") als "1 2 3".split(" +") . Wenn Sie \s anstelle von "" verwenden, ist es lesbarer und sicherer.

    
AlexR 01.02.2011 11:23
quelle

Tags und Links