使用javascript,我想要打破单词 . 例如,我目前正在使用此处列出的方法Split large string in n-size chunks in JavaScript
var dialog_array = dialog_to_load.match(/.{1,80}/g);
问题是,从第76个字符开始到第84个字符结束的单词将被分成两半 . 是否有一些时髦的正则表达式或代码来防止这种情况?
为了澄清,我能够编写一个小函数来实现这一点,我只是想知道是否有一个干净,更时尚的方式 .
该字符串将具有任意长度和内容,但这是一个请求的示例:
Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua . Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat . Duis aute irure dolor in repreptderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur . Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum .
2 回答
如何使用例如
/.{1,80}\b/g
尊重字边界?你可以使用这个正则表达式:
\S
确保一行以非空格开头 . 因此,.{1,79}
中的计数需要少一个 . 通过前瞻(?=
确保匹配在前方有空白区域或字符串末尾($
)时停止 .当与
match()
一起使用时,您可以获得所需的行,并在发生换行的位置删除空格 .下面的代码段使用50作为宽度而不是80,所以它渲染得很好: