Java String substring(): So nutzt du die Methode effizient
Die Substring-Methode in Java nutzt du, um einen Teilstring aus einem kompletten String zu extrahieren. Dafür gibt es zwei Varianten: Entweder teilst du den String von einem bestimmten Index bis zum Schluss oder du legst Start- und Endpunkt des Teilstrings vorab fest.
Was ist die Substring-Methode in Java und wie wird sie eingesetzt?
In Java lassen sich Buchstaben, Ziffern oder Sonderzeichen zu einem Java String verknüpfen. Wenn du nun spezifische Bereiche aus diesem String heraustrennen möchtest, stehen dir verschiedene Wege offen. Während du mit der Methode Java String.split() den gesamten String zerlegst, um etwa die Übersicht zu erhöhen, geht die Methode Java String substring() einen Schritt weiter: Sie gibt exakt den Teil zurück, den du mittels Start-Index oder einer Kombination aus Start- und End-Index definierst. Wir zeigen dir die Methode und ihre Anwendungsmöglichkeiten im Detail.
Substring mit beginIndex
Wie erwähnt, gibt es für die Java-Methode String substring() zwei Varianten. Die erste Variante definiert lediglich einen Startpunkt für den Teilstring. Ab diesem Punkt wird der String bis zum letzten Zeichen getrennt. Die Syntax sieht so aus:
String substring(int beginIndex)javaDabei bestimmst du zuerst den String, aus dem du extrahieren möchtest. Mit einem Integer legst du fest, an welcher Position der Teilstring beginnt. Die Ausgabe erfolgt über den Java-Befehl System.out.println. Die Methode arbeitet inklusiv, das heißt, das Zeichen an der Index-Position gehört bereits zum neuen Teilstring. Ist der Wert beginIndex kleiner als 0 oder länger als der eigentliche String, wird eine Fehlermeldung ausgegeben.
Um die Logik dieser Substring-Methode in Java zu verdeutlichen, nutzen wir ein einfaches Beispiel, legen einen String an und extrahieren daraus einen Teilbereich.
public class Main {
public static void main(String args[]) {
String Str = new String("Dies ist ein Beispiel. Hier folgt ein zweiter Satz.");
System.out.print("Dies ist der neue Teilstring: ");
System.out.println(Str.substring(23));
}
}javaFührst du den Code aus, erhältst du folgendes Ergebnis:
Dies ist der neue Teilstring: Hier folgt ein zweiter Satz.javaDas funktioniert natürlich genauso gut mit Ziffernfolgen:
public class Main {
public static void main(String args[]) {
String Str = new String("192.448.782.1142");
System.out.print("Die letzten vier Ziffern lauten: ");
System.out.println(Str.substring(12));
}
}javaDeine Ausgabe lautet:
Die letzten vier Ziffern lauten: 1142javaSubstring mit beginIndex und endIndex
Mit der zweiten Variante der Substring-Methode in Java gestaltest du den Teilstring noch präziser. Hier legst du nicht nur den Startpunkt fest, sondern definierst zusätzlich einen Endpunkt. Die Syntax hierfür ist:
String substring(int beginIndex, int endIndex)javaDabei ist der beginIndex inklusiv, während der endIndex exklusiv gewertet wird. Auch das lässt sich einfach veranschaulichen:
public class Main {
public static void main(String args[]) {
String Str = new String("Dies ist ein Beispiel. Hier folgt ein zweiter Satz.");
System.out.print("Dies ist der neue Teilstring: ");
System.out.println(Str.substring(9, 21));
}
}javaDas Ergebnis sieht so aus:
Dies ist der neue Teilstring: ein BeispieljavaDu kannst auch problemlos Teile innerhalb eines Wortes isolieren. Hier ein Beispiel anhand einer fiktiven Liste:
public class Main {
public static void main(String args[]) {
String Str = new String("Eier, Milch, Bohnen, Speck und Mehl");
System.out.print("Dies ist der neue Teilstring: ");
System.out.println(Str.substring(14, 18));
}
}javaDie neue Ausgabe zeigt folgendes:
Dies ist der neue Teilstring: ohnejavaZum Abschluss zeigen wir dir einen praktischen Anwendungsfall für die Java-Substring-Methode. Stell dir vor, du erhältst Kontaktdaten von Kund:innen in einem fixen Format und möchtest nur den relevanten Teil isolieren. Dafür eignet sich die Methode perfekt. Hier ist der passende Code:
public class Main {
public static void main(String args[]) {
String Str = new String("247: Schmidt, Peter|schmidtp@beispiel.com|Berlin|12.04.1972");
System.out.print("Dies ist die E-Mail-Adresse des Kunden: ");
System.out.println(Str.substring(20, 41));
}
}javaDeine Ausgabe sieht dann so aus:
Dies ist die E-Mail-Adresse des Kunden: schmidtp@beispiel.comjava