String[] split = data.split("\\|",-1);
यह सभी समय में वास्तविक आवश्यकता नहीं है। ऊपर का दोष नीचे दिखाया गया है:
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
जब डेटा गायब है:
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
वास्तविक आवश्यकता लंबाई है 7 होना चाहिए हालांकि डेटा गायब है। क्योंकि ऐसे मामले हैं जब मुझे डेटाबेस या कुछ और में सम्मिलित करने की आवश्यकता होती है। हम नीचे दृष्टिकोण का उपयोग करके इसे प्राप्त कर सकते हैं।
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
मैंने यहाँ क्या किया है, मैं निकाल रहा हूँ "|" अंत में पाइप और फिर स्ट्रिंग को विभाजित करना। यदि आपके पास "," एक सेपरेटर के रूप में है, तो आपको प्रतिस्थापन के अंदर ", $" को जोड़ना होगा।