Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
170
rated 0 times [  171] [ 1]  / answers: 1 / hits: 28295  / 13 Years ago, fri, december 2, 2011, 12:00:00

I have a string that I need split into smaller strings with an equal length of 6. I tried using:



'abcdefghijklmnopqrstuvwxyz'.split(/(.{6})/)


But it returns an array with empty strings like so:



[, abcdef, , ghijkl, , mnopqr, , stuvwx, ]

More From » javascript

 Answers
15

Use match in conjunction with a global flag, instead of split. {1,6} is needed, to also include the last part of the matched string. Patterns are greedy by default, which means that as much is matched as possible. So, .{1,6} will only match less than 6 characters at the end of a string.



'abcdefghijklmnopqrstuvwxyz'.match(/.{1,6}/g);


Result:



[abcdef, ghijkl, mnopqr, stuvwx, yz];


Note that the returned object is a true array. To verify:



console.log('.'.match(/./g) instanceof Array);  //true



[#88782] Thursday, December 1, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
zaynerogerb

Total Points: 454
Total Questions: 109
Total Answers: 97

Location: Comoros
Member since Tue, Mar 14, 2023
1 Year ago
zaynerogerb questions
;