String[] split = data.split("\\|",-1);
Dies ist nicht immer die eigentliche Anforderung. Der Nachteil von oben ist unten gezeigt:
Scenerio 1:
When all data are present:
String data = "5|6|7||8|9|10|";
String[] split = data.split("\\|");
String[] splt = data.split("\\|",-1);
System.out.println(split.length); //output: 7
System.out.println(splt.length); //output: 8
Wenn Daten fehlen:
Scenerio 2: Data Missing
String data = "5|6|7||8|||";
String[] split = data.split("\\|");
String[] splt = data.split("\\|",-1);
System.out.println(split.length); //output: 5
System.out.println(splt.length); //output: 8
Die tatsächliche Anforderung ist, dass die Länge 7 sein sollte, obwohl Daten fehlen. Denn es gibt Fälle, wie zum Beispiel, wenn ich in die Datenbank oder etwas anderes einfügen müssen. Wir können dies mit dem folgenden Ansatz erreichen.
String data = "5|6|7||8|||";
String[] split = data.split("\\|");
String[] splt = data.replaceAll("\\|$","").split("\\|",-1);
System.out.println(split.length); //output: 5
System.out.println(splt.length); //output:7
Was ich hier gemacht habe, ist, dass ich die "|"-Pipe am Ende entferne und dann den String aufteile. Wenn Sie "," als Trennzeichen haben, dann müssen Sie ",$" innerhalb replaceAll hinzufügen.