একটি বড় স্ট্রিংকে এন-আকারের সাব স্ট্রিংগুলিতে বিভক্ত করার দুটি উপায় রয়েছে৷
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) Regex পদ্ধতি
এটি একটি পূর্বনির্ধারিত পদ্ধতি নয়। রেজেক্স পদ্ধতিটি স্ট্রিংটি খণ্ড করার জন্য আকার উল্লেখ করার জন্য একটি স্লট প্রদান করে।
সাধারণভাবে, যে কোনো স্ট্রিং থেকে আপনি সর্বাধিক 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>