在Javascript中,在最近的空格处拆分文本/字符串

在Javascript中,在最近的空格处拆分文本/字符串,javascript,jquery,string,split,Javascript,Jquery,String,Split,我真的很难在距离第47个字符最近的字符串处分割文本。 这是怎么做到的 var fulltext = document.getElementById("text").value; var a = fulltext.slice(0, 47); console.log(a); var b = fulltext.slice(47, 47*2); console.log(b); var c = fulltext.slice(94, 47*3); console.log(c); 这是一把JS小提琴-

我真的很难在距离第47个字符最近的字符串处分割文本。 这是怎么做到的

var fulltext = document.getElementById("text").value;

var a = fulltext.slice(0, 47);
console.log(a);

var b = fulltext.slice(47, 47*2);
console.log(b);

var c = fulltext.slice(94, 47*3);
console.log(c);
这是一把JS小提琴-


谢谢。

您可以使用带有
fromIndex
第二个参数的方法查找下一个单词边界。之后,您可以使用
slice
获取左侧部分或右侧部分

var fulltext=“slice()方法选择从给定的开始参数开始的元素,并在给定的结束参数结束,但不包括该结束参数。”;
var before=fulltext.slice(0,fulltext.indexOf(“”,47));
var after=fulltext.slice(fulltext.indexOf(“”,47));
警报(之前);

警报(之后)如果您只对第一部分感兴趣,请使用

var a = fulltext.match(/^.{47}\w*/)
参见演示(小提琴)。


如果要将整个字符串拆分为多个子字符串,请使用

var a = fulltext.match(/.{47}\w*|.*/g);
var a = fulltext.match(/.{47}\w*\W*|.*/g);
参见演示(小提琴)。

…如果希望子字符串不以单词分隔符(如空格或逗号)开头,并希望将其包含在前一个匹配中,则使用

var a = fulltext.match(/.{47}\w*|.*/g);
var a = fulltext.match(/.{47}\w*\W*|.*/g);

请参阅演示(小提琴)。

上一篇的下一篇,或者不重要?为什么不尽可能简化问题,并发布
var fulltext=“我的文本直接在这里,让我们直接关注您的问题”
嗨,只要三行文本阅读正确,我不介意哪一行@DFSQT这似乎对第一行很有效。你能在JSFIDLE上告诉我如何分成三行吗?谢谢你的时间。@TristanKirkpatrick-我已经更新了我的答案。如果这不是你想要的,请澄清你的需求@Ω在控制台日志中完美分割文本的mega。然后如何将每一行用作变量。(传递给jQuery插件)例如,0-47=a,47-94=b@TristanKirkpatrick-
[1,2].forEach(函数(i){if(a[i]=='undefined'){a[i]=''''}}}
@TristanKirkpatrick-就在
var a=fulltext之后。匹配…
行,然后再通过
a[0]
a[1]
a[2]
添加到您的另一个代码中。虽然在某些文本中,它会选择上一个单词并显示两次,但这似乎确实有效。有办法解决这个问题吗?你能给我举一个这样的例子吗?无法想象什么时候会发生。我一直在从互联网上粘贴文本,记不清确切的文本,对不起。