Javascript 如何在不剪切单词的情况下,将一个句子拆分为具有最大字符数的句子数组?

Javascript 如何在不剪切单词的情况下,将一个句子拆分为具有最大字符数的句子数组?,javascript,regex,string,split,Javascript,Regex,String,Split,我有这个字符串: 这是一个要按代码拆分的句子,如何使其更小,最多30个字符 我想用Javascript将其放入这个数组中: [ "This is a sentence to be split", "by the code, how can I make", "it smaller with maximum", "number of 30 characters?" ] 如何使用Javascript拆分该字符串,每个句子拆分的最大长度为30个字符,以及整个单词 我发现这个代码: 这做得很好,但它

我有这个字符串:

这是一个要按代码拆分的句子,如何使其更小,最多30个字符

我想用Javascript将其放入这个数组中:

[
"This is a sentence to be split",
"by the code, how can I make",
"it smaller with maximum",
"number of 30 characters?"
]
如何使用Javascript拆分该字符串,每个句子拆分的最大长度为30个字符,以及整个单词

我发现这个代码:

这做得很好,但它在30个字符的限制之后找到了空格,而不是之前:

function myFunction() {
    str = "This is a sentence to be split by the code, how can I make it smaller with maximum number of 30 characters?"
    result = str.replace(/.{30}\S*\s+/g, "$&@")
    document.getElementById("demo").innerHTML = result;
}

为了避免在每个零件的开头或结尾留有空间,请使用:

var str=“这是一个要被代码分割的句子,我怎样才能使它更小,最多30个字符?”;

log(str.match(/\S.{0,29}(?=\S+|$)/g)
/.{0,30}\s+/g
/(.{0,30})\s+/g
你好,如果我在这个字符串上尝试它:“这是一个按代码拆分的句子”它给出了这个答案:这是一个按代码拆分的句子,它是不正确的。有没有别的方法?什么是正确的?我想要的是每一部分中的每30个字符,如果这第三十个字符在一个单词的中间,我希望它回到最后一个空间,比如“这是一个要分开的句子,……每个部分都是30个字符,”代码> s= s替换(({ 0},30})s/g,“$1 \n”)< /代码>,请参见。