Подтвердить что ты не робот

Разделить строку на массив строк равной длины

У меня есть строка, которую мне нужно разделить на более мелкие строки с равной длиной 6. Я попытался использовать:

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

Но он возвращает массив с пустыми строками:

["", "abcdef", "", "ghijkl", "", "mnopqr", "", "stuvwx", ""]
4b9b3361

Ответ 1

Используйте match в сочетании с глобальным флагом, а не сплитом. {1,6} необходим, чтобы также включать в себя последнюю часть согласованной строки. По умолчанию шаблоны являются жадными, что означает, что максимально согласовано. Таким образом, .{1,6} будет соответствовать только 6 символам в конце строки.

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

Результат:

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

Обратите внимание, что возвращаемый объект является истинным массивом. Чтобы проверить:

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

суб >