String[] split = data.split("\\|",-1);
Ce n'est pas l'exigence réelle en tout temps. L'inconvénient de ci-dessus est indiqué ci-dessous:
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
Lorsque des données sont manquantes:
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
La véritable exigence est que la longueur devrait être de 7 bien qu'il manque des données. Parce qu'il y a des cas comme quand j'ai besoin d'insérer dans la base de données ou autre chose. Nous pouvons y parvenir en utilisant l'approche ci-dessous.
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
Ce que j'ai fait ici, c'est que je supprime "|" tuyau à la fin, puis diviser la chaîne. Si vous avez "," comme séparateur, vous devez ajouter ", $" à l'intérieur de replaceAll.