2016-01-25 7 views
7

उदाहरण:क्यों आगे नहीं देखता है और कोटलिन में रेगेक्स काम के पीछे क्यों दिखता है?

// Java 
    System.out.println("one;two;th/;ree".split("(?<!/);").length); // 3 

    // Kotlin 
    println("one;two;th/;ree".split("(?<!/);").size) // 1 

यह कैसे सही करने के लिए?

+1

मैं, के साथ उन लोगों सबस्ट्रिंग मिलान की सलाह देते हैं कहते हैं, [ '[^; \ /] (: \ /; [^;] *) *'] (https: //regex101.com/r/iD7jQ1/1) –

उत्तर

7

अपने कोटलिन उदाहरण में आप Regex द्वारा विभाजित नहीं हो रहे हैं लेकिन String द्वारा विभाजित नहीं हो रहे हैं।

प्रयास करें निम्नलिखित:

println("one;two;th/;ree".split(Regex("(?<!/);")).size) // 3 
+3

वैकल्पिक रूप से आप 'String.toRegex' एक्सटेंशन फ़ंक्शन का भी उपयोग कर सकते हैं जो मुझे थोड़ा अधिक पठनीय लगता है:' println ("one; two; th /; ree" .split ("( mhlz

संबंधित मुद्दे