Чтобы разделить строку JavaScript на подстроки определенной длины, вы можете использовать несколько методов. Вот несколько подходов:
- Использование цикла. Вы можете перебирать строку и извлекать подстроки нужной длины, используя метод
substring()илиslice(). Вот пример:
function splitStringByLength(string, length) {
var result = [];
for (var i = 0; i < string.length; i += length) {
result.push(string.substring(i, i + length));
}
return result;
}
var str = "javascript string into substrings of length";
var substrings = splitStringByLength(str, 5);
console.log(substrings);
Выход:
["javas", "cript", " str", "ing i", "nto s", "ubstr", "ings ", "of le", "ngth"]
- Использование
match()с регулярным выражением. Вы можете разделить строку на массив подстрок, используя методmatch()с регулярным выражением. Вот пример:
var str = "javascript string into substrings of length";
var length = 5;
var substrings = str.match(new RegExp('.{1,' + length + '}', 'g'));
console.log(substrings);
Выход:
["javas", "cript", " str", "ing i", "nto s", "ubstr", "ings ", "of le", "ngth"]
- Использование
substr()в рекурсивной функции. Вы можете рекурсивно извлекать подстроки нужной длины, используя методsubstr(). Вот пример:
function splitStringByLength(string, length) {
if (string.length <= length) {
return [string];
}
return [string.substr(0, length), ...splitStringByLength(string.substr(length), length)];
}
var str = "javascript string into substrings of length";
var substrings = splitStringByLength(str, 5);
console.log(substrings);
Выход:
["javas", "cript", " str", "ing i", "nto s", "ubstr", "ings ", "of le", "ngth"]