String[] split = data.split("\\|",-1);
Đây không phải là yêu cầu thực tế trong tất cả các thời gian. Nhược điểm ở trên được hiển thị dưới đây:
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
Khi dữ liệu bị thiếu:
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
Yêu cầu thực sự là độ dài nên là 7 mặc dù thiếu dữ liệu. Bởi vì có những trường hợp như khi tôi cần chèn vào cơ sở dữ liệu hoặc cái gì khác. Chúng ta có thể đạt được điều này bằng cách sử dụng phương pháp dưới đây.
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
Những gì tôi đã làm ở đây là, tôi đang xóa "|" ống ở cuối và sau đó tách Chuỗi. Nếu bạn có "," với tư cách là người tách biệt thì bạn cần thêm ", $" vào bên trong thay thế.