एक बड़े स्ट्रिंग को n-आकार के उप-स्ट्रिंग में विभाजित करने के दो तरीके हैं।
1) पारंपरिक तरीका
यह एक शुद्ध तर्क पद्धति है जिसमें केवल पारंपरिक तरीकों का उपयोग किया जाता है जैसे कि लूप, कॉनकैट, मॉड्यूलस आदि। यह विधि रेगेक्स विधि की तरह परिष्कृत नहीं है, क्योंकि यह एक पूर्व निर्धारित विधि है। कोडिंग शुरू करने से पहले स्ट्रिंग को विभाजित करने वाले टुकड़ों की संख्या पूर्व निर्धारित होनी चाहिए।
निम्नलिखित उदाहरण में स्ट्रिंग "tutorixtutorixtutorix" को उप स्ट्रिंग्स के 3-खंडों में विभाजित किया गया है।
उदाहरण
<html> <body> <script> var v = []; var str = "tutorixtutorixtutorix" var t = str.split(""); document.write(t); document.write("</br>"); for (var i = 0; i< t.length; i++){ if((i % 3) == 2){ v.push(t[i-2].concat(t[i-1],t[i])); } } document.write(v); </script> </body> </html>
आउटपुट
tut,ori,xtu,tor,ixt,uto,rix
2) रेगेक्स विधि
यह कोई पूर्व निर्धारित विधि नहीं है। रेगेक्स विधि स्ट्रिंग को खंडित करने के लिए आकार का उल्लेख करने के लिए एक स्लॉट प्रदान करती है।
सामान्य तौर पर, किसी भी स्ट्रिंग के लिए जिसमें से आप अधिकतम n-आकार के उप स्ट्रिंग्स को निकालना चाहते हैं, सिंटैक्स है
str.match(/.{1,n}/g); // Replace n with the size of the substring
यदि स्ट्रिंग में कोई न्यूलाइन या कैरिज रिटर्न है, तो सिंटैक्स है
str.match(/(.|[\r\n]){1,n}/g); // Replace n with the size of the substring
कोड का मूल सिंटैक्स है
function chunkString(str, size) { return str.match(new RegExp('.{1,' + size + '}', 'g')); }
उदाहरण
<html> <body> <script> stringChop = function(str, size){ if (str == null) return []; str = String(str); return size > 0 ? str.match(new RegExp('.{1,' + size + '}', 'g')) : [str]; } document.write(stringChop('tutorialspoint')); document.write("<br>"); document.write(stringChop('tutorix',2)); document.write("<br>"); document.write(stringChop('tutorialspoint',3)); </script> </body> </html>