Die Java-Methode String split() wird genutzt, um Strings in mehrere Teil­strings zu zerlegen. Dabei wird ein Parameter fest­ge­legt, der als Trenn­zei­chen fungiert. Ein op­tio­na­ler Parameter regelt die Anzahl der Teil­strings. Beim Einsatz der Methode gibt es einige be­ach­tens­wer­te Be­son­der­hei­ten.

Was ist die Methode Java String split()?

Ein Java String verkettet mehrere Zeichen, Ziffern oder Son­der­zei­chen. Er existiert als Objekt in der Klasse java.lang und wird mit der Klasse String erstellt und be­ar­bei­tet. Die Pro­gram­mier­spra­che bietet Ihnen die Mög­lich­keit, diese Strings auch in mehrere Teil­strings zu trennen. Die Methode Java String split() wird genutzt, wenn Sie lediglich bestimmte Bereiche aus dem gesamten String ex­tra­hie­ren oder diesen in seine einzelnen Teile zerlegen möchten. Wir zeigen wir Ihnen die un­ter­schied­li­chen Mög­lich­kei­ten, die diese Methode bietet.

Wenn Sie Java String split() einsetzen, erhalten Sie ein Array von mehreren Strings zurück. Dieses wird dann zum Rück­ga­be­wert.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Syntax und Funk­ti­ons­wei­se der Methode

Die Syntax der Java-Methode String split() ist grund­sätz­lich sehr einfach, kann al­ler­dings um einen op­tio­na­len Parameter erweitert werden. Dies ist zunächst die Ba­sis­va­ri­an­te:

String[] split(String regex)
java

Hierbei wird angezeigt, dass die Rückgabe in Form eines Arrays passiert. String ist das String-Objekt. regex ist ein Ein­ga­be­pa­ra­me­ter, durch den Sie festlegen, an welchen Stellen der String geteilt werden soll. Zwar müssen Sie diesen Parameter nicht zwangs­läu­fig einsetzen, seine Nutzung wird al­ler­dings empfohlen. Mit dem op­tio­na­len Parameter limit sieht die Syntax aus wie folgt:

String[] split(String regex, int limit)
java

limit gibt an, wie viele Teil­strings erstellt werden sollen. Sein Wert ist ein Integer. Sofern dieser negativ oder gleich 0 ist, werden Ihnen in der Ausgabe alle Teil­strings angezeigt. Wählen Sie einen positiven Wert, werden lediglich ent­spre­chend viele Teil­strings aus­ge­ge­ben.

Beispiel für die Methode mit Leer­zei­chen als Trenn­zei­chen

Am besten verstehen Sie Java String split() aber, wenn Sie seine Nutzung an einem prak­ti­schen Beispiel sehen. Hierfür erstellen wir einen String, der aus vier Wörtern besteht: „Dies ist ein Beispiel“. Diesen String können Sie nun mit der Methode aufteilen. Na­he­lie­gend ist eine Trennung entlang der bereits vor­han­de­nen Ab­gren­zun­gen, die durch die Leer­zei­chen zwischen den Wörtern entstehen. Mit dem folgenden Code führen Sie diese Trennung durch:

public class Main {
	public static void main(String[] args) {
		String x = "Dies ist ein Beispiel";
		String[] ausgabe = x.split(" ");
		for (String y : ausgabe) {
			System.out.println(y);
		}
	}
}
java

Dabei wird nun eine String-Variable x initiiert. Dann wendet Java die String-split()-Methode auf x an. Der Parameter regex durch­sucht den String auf Leer­zei­chen und teilt ihn an diesen Stellen. Danach wird das Ergebnis in einem Array namens „ausgabe“ ge­spei­chert. Mit der for-Schleife werden diese Teil­strings auf­ge­führt. Mithilfe des Java-Befehls System.out.println erhalten Sie folgende Ausgabe:

Dies
ist
ein
Beispiel
java

Komma als Trenn­zei­chen: Mit und ohne Leer­zei­chen

Sie können die Methode auch nutzen, um Auf­lis­tun­gen zu un­ter­tei­len, die durch Kommata getrennt und so als String abgelegt wurden. Hierbei müssen Sie sich jedoch eines kleinen Tricks bedienen, der auch direkt aufzeigt, wie genau Ihre An­wei­sun­gen umgesetzt werden. Stellen wir uns dafür eine Auf­lis­tung der Wo­chen­ta­ge vor, die jeweils durch Kommata getrennt werden. Diese Kommata wären ei­gent­lich ein guter Parameter, an dem der regex ansetzen könnte. Wenn Sie dies so in­iti­ie­ren, sieht der Code fol­gen­der­ma­ßen aus:

public class Main {
	public static void main(String[] args) {
		String x = "Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag";
		String[] ausgabe = x.split(",");
		for (String y : ausgabe) {
			System.out.println(y);
		}
	}
}
java

Die Ausgabe wird in diesem Fall nicht ganz ideal ausfallen:

Montag
 Dienstag
 Mittwoch
 Donnerstag
 Freitag
 Samstag
 Sonntag
java

So erhalten Sie zwar ebenfalls eine über­sicht­li­che Auf­lis­tung, alle Werte ab „Dienstag“ haben al­ler­dings ein störendes führendes Leer­zei­chen. Da die Trennung immer direkt nach dem je­wei­li­gen Komma vor­ge­nom­men wurde, nimmt Java String split() dieses Leer­zei­chen als erste Stelle mit in den Teil­string. Wenn Sie dieses kleine Problem umgehen möchten, wandeln Sie die Methode einfach mit einem zu­sätz­li­chen Leer­zei­chen als Trenn­zei­chen ab. Dies ist der Code:

public class Main {
	public static void main(String[] args) {
		String x = "Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag";
		String[] ausgabe = x.split(", ");
		for (String y : ausgabe) {
			System.out.println(y);
		}
	}
}
java

Nun ist die Ausgabe viel or­dent­li­cher:

Montag
Dienstag
Mittwoch
Donnerstag
Freitag
Samstag
Sonntag
java

Zif­fern­ket­ten trennen

Eine andere Mög­lich­keit zur Trennung besteht bei langen Zif­fern­ket­ten. Als Beispiel stellen wir uns einen langen Schlüssel vor, der durch Punkte und einen Dop­pel­punkt un­ter­teilt ist. Möchten Sie nun die Ziffern hinter dem Dop­pel­punkt gesondert aufführen, ist dies der passende Code:

public class Main {
	public static void main(String[] args) {
		String x = "194.518.552.1.17:6339";
		String[] ausgabe = x.split(":");
		for (String y : ausgabe) {
			System.out.println(y);
		}
	}
}
java

Die Ausgabe sieht dann fol­gen­der­ma­ßen aus:

194.518.552.1.17
6339
java

Die Java-Methode String split() mit dem Parameter limit

Wie erwähnt kennt Java String split() auch den op­tio­na­len Parameter limit. Dieser begrenzt die Anzahl der Teil­strings, die mit der Methode erstellt werden. Hierbei haben Sie drei Mög­lich­kei­ten: ein Wert kleiner als 0, ein Wert gleich 0 oder ein Wert größer als 0.

limit kleiner als 0

Wählen Sie einen Wert für limit, der kleiner als 0 ist, wird der reguläre Ausdruck ohne Ein­schrän­kung auf die gesamte Zei­chen­ket­te angewandt. Das Array, das dadurch entsteht, kann beliebig lang sein. Der Code sieht bei­spiel­haft so aus:

public class Main {
	public static void main(String[] args) {
		String x = "Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag ";
		String[] ausgabe = x.split(", ", -3);
		for (String y : ausgabe) {
			System.out.println(y);
		}
	}
}
java

Da hinter dem letzten Begriff „Sonntag“ noch ein Leer­zei­chen ist, endet das Array mit einem leeren String. Die ent­spre­chen­de Ausgabe ist diese:

Montag
Dienstag
Mittwoch
Donnerstag
Freitag
Samstag
Sonntag
java

limit 0

Wenn Sie den Wert 0 für den Parameter limit wählen, wird der reguläre Ausdruck ebenfalls so oft wie möglich verwendet. Auch die Länge des Arrays ist nicht begrenzt. Sollte es sich aber beim letzten Element um einen leeren String handeln, wird dieser für das ab­schlie­ßen­de Array nicht be­rück­sich­tigt.

public class Main {
	public static void main(String[] args) {
		String x = "Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag ";
		String[] ausgabe = x.split(", ", 0);
		for (String y : ausgabe) {
			System.out.println(y);
		}
	}
}
java

Die Ausgabe sieht zwar genauso aus, der letzte String wird in diesem Fall al­ler­dings verworfen:

Montag
Dienstag
Mittwoch
Donnerstag
Freitag
Samstag
Sonntag
java

limit größer als 0

Of­fen­sicht­lich sind die Un­ter­schie­de, wenn Sie limit einen Wert über 0 geben. Dies bestimmt, wie viele Teil­strings aus­ge­ge­ben werden. Für unser Beispiel sieht das so aus:

public class Main {
	public static void main(String[] args) {
		String x = "Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag ";
		String[] ausgabe = x.split(", ", 3);
		for (String y : ausgabe) {
			System.out.println(y);
		}
	}
}
java

Nun erhalten wir eine Ausgabe, die sich bereits auf den ersten Blick von den beiden Vor­gän­gern un­ter­schei­det:

Montag
Dienstag
Mittwoch, Donnerstag, Freitag, Samstag, Sonntag
java
Zum Hauptmenü