Как одну строку разбить на n количество строк

Имеется строка, например

"0J3QsNC/0YDQsNGB0L3Qvikg0JfQtNC10YHRjCDQvdC40YfQtdCz0L4g0L3QtdGCIQ=="

Нужно разбить ее на n количество строк для отправки ее чанками. Нашел такой вариант:

"0J3QsNC/0YDQsNGB0L3Qvikg0JfQtNC10YHRjCDQvdC40YfQtdCz0L4g0L3QtdGCIQ==".match(/.{1,20}/g);

В результат получаю то что нужно

0: "0J3QsNC/0YDQsNGB0L3Q"

1: "vikg0JfQtNC10YHRjCDQ"

2: "vdC40YfQtdCz0L4g0L3Q"

3: "tdGCIQ=="

Но вместо 20 мне нужно установить переменную, которую в данном выражении использовать нельзя. Как это можно реализовать?


Ответы (1 шт):

Автор решения: vsemozhebuty

Можно и с переменной:

function splitByLength(str, length) {
  return str.match(RegExp(`.{1,${length}}`, 'gu'));
}

console.log(splitByLength('1234567890', 3)); // [ '123', '456', '789', '0' ]
console.log(splitByLength('1234567890', 4)); // [ '1234', '5678', '90' ]
console.log(splitByLength('1234567890', 5)); // [ '12345', '67890' ]

→ Ссылка