У меня разная длина шнура. Это очень большие строки, от 4000 до 20 000 символов. Я хочу вырезать строку из всех 4000 символов, не вырезая всю середину слова. Затем сохраните вырезанную строку в массиве
Я могу перерезать свою нить и восстановить каждый обрезанный конец. Однако мне нужен цикл, потому что некоторые строки больше, чем другие
Мой код в настоящее время:
let string = 'One string with 9771 character, including "."';
let array = [];
let string2 = '';
var cutat = string.lastIndexOf('.',4000);
if(cutat!=-1){
string2=string.substring(0,cutat)+".";
}
string = string.split(string2)
string = string[1]
array[0] = string2;
var cutat = string.lastIndexOf('.',4000);
if(cutat!=-1){
string2=string.substring(0,cutat)+".";
}
string = string.split(string2)
string = string[1]
array[1] = string2;
var cutat = string.lastIndexOf('.',4000);
if(cutat!=-1){
string2=string.substring(0,cutat)+".";
}
array[2] = string2;
console.log(array)
В настоящее время я получаю свой массив со своей строкой, разделенной каждые 4000 символов, не вырезая слово посередине.
Array = ['the first 4000 characters.','the second.','the last.']
Теперь я хотел бы сделать цикл для достижения этого, потому что у меня есть меньшие строки и большие строки, поэтому, вероятно, эта строка будет сокращаться больше или меньше раз. Как сделать? Спасибо
Разделите предложения так: let string = "abc def. ghij kl."; array = ['abc def.', 'ghij kl.'];
@MTCoster
split('.')
? "abc def. ghij kl.".split('.').filter(s => !!s).map(s => `${s}.`)
@MoshFeu Это то, что я хочу, но я хочу, чтобы разделение выполнялось каждые 4000 символов в «.» ближайший и не к каждому "."
Попался. Итак, кажется, вы получили ответ :)
Вы можете сделать это, используя метод .substr
и цикл while:
const s_limit = 4000;
function cutter(str) {
var chunks = [];
while(str.lastIndexOf('.', s_limit) > 0) {
var ind = str.lastIndexOf('.', s_limit)+1;
chunks.push(str.substr(0, ind));
str = str.substr(ind);
}
return chunks;
}
Вы хотите разделить между предложениями или словами? В тексте написано одно, а в коде другое