【发布时间】:2016-10-27 04:40:08
【问题描述】:
我需要将一个字符串拆分成一个数组,根据字符的数量并且不截断一个单词。
我一直在用这个:
var charPerLine = 17;
var regex = new RegExp('^(.{'+charPerLine+'}\\S*\\s+', 'g');
var output = str.replace(regex, "$&@").split(/\s+@/);
这段代码的问题是有时我得到一个长度超过 17 个字符的字符串,如果空格接近最新的字符。
例如,
var str = "I want you to do something else instead.";
被分成:
var output = ["I want you to do something", "else instead."]
但第一个字符串超过17个字符,我需要将其拆分如:
var output = ["I want you to do", "something else", "instead."]
它还必须与标点符号和单/双引号一起使用
有什么建议吗?
【问题讨论】:
-
问题:如果一个单词超过15个字符会怎样?它会在某个地方裂开,还是我们吃掉它?
-
那不应该发生,所以我会说不应该在中间被切断
标签: javascript regex string