Wie man in Java Zeichenketten in Arrays aufteilt

Hassan Saeed 12 Oktober 2023
  1. Verwenden Sie split(delimiter), um einen String in ein Array in Java aufzuteilen
  2. Verwenden Sie split(regex, limit), um Zeichenketten in ein Array in Java aufzuteilen und die leeren Zeichenketten am Ende beizubehalten
Wie man in Java Zeichenketten in Arrays aufteilt

In diesem Tutorial werden Methoden zur Aufteilung von Strings in ein Array in Java besprochen.

Angenommen, wir haben eine durch Komma getrennte Zeichenkette John, 23, $4500. Wir müssen die Daten basierend auf dem Komma aufteilen und in einem Array wie diesem speichern: ["John", "23", "$4500"]. Hier kommt die Methode split() zum Einsatz.

Verwenden Sie split(delimiter), um einen String in ein Array in Java aufzuteilen

Wir müssen das Trennzeichen übergeben, um die darauf basierende Zeichenkette zu teilen. Die Methode split() würde die Zeichenkette bei jedem Auftreten des Begrenzers aufbrechen und jeden Wert im Array speichern. Das folgende Beispiel veranschaulicht dies.

public class MyClass {
  public static void main(String args[]) {
    String data = "1,2,3,,5,6,,";
    String[] split = data.split(",");
    for (int i = 0; i < split.length; i++) System.out.println(split[i]);

    System.out.println("Done");
  }
}

Ausgabe:

1
2
3

5
6

Obwohl wir zwei leere Zeichenketten am Ende haben, enthält das resultierende Array die letzten beiden leeren Zeichenketten nicht. Das liegt daran, dass das Standardverhalten von split() alle nachfolgenden leeren Zeichenketten aus dem resultierenden Array entfernt.

Verwenden Sie split(regex, limit), um Zeichenketten in ein Array in Java aufzuteilen und die leeren Zeichenketten am Ende beizubehalten

Wir können dieses Verhalten außer Kraft setzen, indem wir der Funktion split() einen zusätzlichen Parameter übergeben: split(regex, limit). Die Übergabe eines negativen limits würde sicherstellen, dass das Regex-Muster so oft wie möglich angewendet wird, wobei alle nachfolgenden leeren Zeichenketten aus dem Split einbezogen werden.

Das folgende Beispiel veranschaulicht dies:

public class MyClass {
  public static void main(String args[]) {
    String data = "1,2,3,,5,6,,";
    String[] split = data.split(",", -1);
    for (int i = 0; i < split.length; i++) System.out.println(split[i]);

    System.out.println("Done");
  }
}

Ausgabe:

1
2
3

5
6


Done

Wir können sehen, dass es jetzt die letzten beiden hinteren leeren Zeichenketten gedruckt hat.

Verwandter Artikel - Java String