/ / जावा में एक स्ट्रिंग में Delimiter गिनती - जावा

जावा - जावा में एक स्ट्रिंग में डिलिमिटर गिनें

मेरे पास जावा में एक स्ट्रिंग है।

1|2|3|4|5|2|2|3|4|123441|234556|67783|56764|55454

मुझे चाहिए स्ट्रिंग के ऊपर एक delimiter गिनने के लिए। कृपया मुझे गिनने के तरीके में सहायता करें और मैं केवल 7 डिलिमिटर मान शुरू करना चाहता हूं।

उत्तर:

उत्तर № 1 के लिए 1

आप का उपयोग कर विभाजित कर सकते हैं | चरित्र।

public static void main(String[] args) {
String s = "1|2|3|4|5|2|2|3|4|123441|234556|67783|56764|55454";
String[] strArr = s.split("\|");
System.out.println("Array : " + Arrays.toString(strArr));
System.out.println("Delimiter count : " + (strArr.length - 1)); // Prints 13
System.out.println("7th field : " + strArr[7]); // Prints 3
}

उत्तर № 2 के लिए 1

पैटर्न और मैचर कक्षाओं का उपयोग करके आप नियमित अभिव्यक्तियों के साथ इसे हल कर सकते हैं:

    String s = "1|2|3|4|5|2|2|3|4|123441|234556|67783|56764|55454";
Pattern p = Pattern.compile("((\d+\|){7}).*");
Matcher m = p.matcher(s);
if (m.matches()) {
System.out.println(m.group(1));
}

उपर्युक्त कोड को समझने के लिए, नियमित अभिव्यक्तियों पर एक नज़र डालें, उदा। http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html


उत्तर № 3 के लिए 1

यदि आपकी इनपुट स्ट्रिंग अगर इस तरह sthg है: -

1|2|3|4|5|2|2|3|4|123441|234556|||

delimiters के बीच खाली मूल्य होने। फिर आप एक अलग संस्करण के साथ जा सकते हैं split समारोह।

String[] strArr = s.split("\|", -1);

आपको विभाजित करने के लिए दूसरे तर्क के रूप में -1 को पारित करने की आवश्यकता है अन्यथा यह खाली तारों को हटा देता है।