एक बड़ी स्ट्रिंग को 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>