split
भी लंबाई स्ट्रिंग के लिए:
str.split(/(?=(?:..)*$)/)
अजीब लंबाई स्ट्रिंग के लिए split
, अंतिम प्रविष्टि एक चरित्र है:
str.split(/(?=(?:..)*.$)/)
वे मूल रूप से आगे बढ़ रहे हैं जो जांचते हैं कि आगे वर्णों की संख्या विषम या यहां तक कि है। यह इस तथ्य का लाभ उठाता है कि सभी विभाजन पदों पर आगे वर्णों की संख्या स्ट्रिंग की लंबाई के समान समानता है।
पैटर्न (यहां तक कि संस्करण) में पैटर्न (?:..)*$
है, जो स्ट्रिंग $
स्ट्रिंग के अंत से पहले (?:..)*
वर्णों की संख्या के लिए भी जांच करता है। (ध्यान दें कि गैर-कैप्चरिंग समूह (?:pattern)
का उपयोग यहां किया जाता है, अन्यथा, समूह को कैप्चर करने से split
परिणाम में अतिरिक्त प्रविष्टियां मिलेंगी)। इसी तरह के स्पष्टीकरण विषम संस्करण के लिए लागू होता है।
ध्यान दें कि .
excludes several new line characters: \n
, \r
, \u2028
या \u2029
। यह ऐसे पात्रों वाले स्ट्रिंग के लिए अप्रत्याशित परिणाम देगा। .
को [\s\S]
(या अन्य समकक्ष निर्माण) के साथ बदलें ताकि यह सभी मामलों के लिए काम कर सके।
अक्षरों को हटाने के लिए एक विधि का उपयोग कर वर्ण बनाए रखने के लिए आपकी प्रेरणा क्या है? –
यह कितना अधिक है? a1-A100 ... परे? ए 1-9, बी 1-9, आदि? – smerny
मुझे लगता है कि मुझे कुछ महीने पहले विभाजन के साथ एक जवाब दिखाई दे रहा है, लेकिन मुझे यह नहीं मिला। –