javascript - JS 将文本拆分成句子

标签 javascript regex

我想接收大量文本(例如一本书的章节),并创建一个句子数组。

我当前的代码是:

text.match( /[^\.!\?]+[\.!\?]+["']?/g );

这仅在文本以 [. ! ?]。如果最后一句话的末尾没有标点符号,则它丢失了。

如何将我的文本拆分成句子,让最后一个句子没有标点符号?

最佳答案

使用$来匹配字符串的结尾:

/[^\.!\?]+[\.!\?]+["']?|.+$/g

或者您可能希望在末尾允许空白字符:

/[^\.!\?]+[\.!\?]+["']?|\s*$/g

关于javascript - JS 将文本拆分成句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958101/

相关文章:

javascript - 对面向对象的javascript的困惑

php - UTC 时钟基于服务器时间吗?

javascript - 需要 WeakMap (a, b) -> c

regex - emacs 贪婪搜索向后正则表达式

javascript - 正则表达式——不带尾随字符的匹配

javascript - 从 ajax 调用的 PHP 无法处理多个调用

Javascript - 在 Canvas 上方放置一个 html 元素

c# - RegEx 模式越过目标

regex - 使用 VBScript 正则表达式删除跨度

java - 匹配 "-"有完全意想不到的结果