क्या तरीका है, जावा का उपयोग करके विशेष चरित्र के साथ स्ट्रिंग को कैसे विभाजित किया जाए?

मेरे पास इस तरह बहुत सरल कैप्चा है:

5 + 10 है

String captcha = "5 + 10";
String[] captchaSplit = captcha.split("+");

और मुझे त्रुटि मिलती है:

धागे में अपवाद "मुख्य" java.util.regex.PatternSyntaxException: इंडेक्स 0 के पास डैंटलिंग मेटा चरित्र '+'

इसे कैसे जोड़ेंगे?

धन्यवाद।

0
cagounai 29 नवम्बर 2015, 11:47

3 जवाब

सबसे बढ़िया उत्तर

+ नियमित अभिव्यक्ति में एक आरक्षित चरित्र है और split एक पैरामीटर के रूप में regExp लेता है। आप इसे \\+ से बच सकते हैं जो अब + से मेल खाएगा।

4
CoderCroc 29 नवम्बर 2015, 08:49

इसे चौकोर कोष्ठकों में टाइप करें

String captcha = "5 + 10";
String[] captchaSplit = captcha.split("[+]");
3
Ken Bekov 29 नवम्बर 2015, 08:52

यदि आपको स्ट्रिंग को कई विशेष प्रतीकों / वर्णों के साथ विभाजित करने की आवश्यकता है, तो अमरूद पुस्तकालय का उपयोग करना अधिक सुविधाजनक है जिसमें अलगानेवाला वर्ग शामिल है:

    @Test
    public void testSplitter() {
        String str = "1***2***3";
        List<String> list = Lists.newArrayList(Splitter.on("***").split(str));
        Assert.assertThat(list.size(), is(3));
    }
0
levrun 11 अप्रैल 2016, 22:38