There are two ways to split a large string in to n-sized sub strings.
1) Conventional method
This is a pure logic method in which only conventional methods are used such as for loop, concat, modulous etc. This method is not as sophisticated as regex method, because it's a predetermined method. The number of chunks that string to be divided should be predetermined before starting coding.
In the following example the string "tutorixtutorixtutorix" is divided in to 3-chunks of sub strings.
Example
<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>Output
tut,ori,xtu,tor,ixt,uto,rix
2) Regex method
It is not a predetermined method. Regex method provides a slot to mention the size to chunk the string.
In general, for any string out of which you want to extract at-most n-sized sub strings, the syntax is
str.match(/.{1,n}/g); // Replace n with the size of the substringIf the string contains any newlines or carriage returns, then the syntax is
str.match(/(.|[\r\n]){1,n}/g); // Replace n with the size of the substringThe original syntax of the code is
function chunkString(str, size) {
return str.match(new RegExp('.{1,' + size + '}', 'g'));
}Example
<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>