【发布时间】:2026-01-14 19:55:02
【问题描述】:
我正在尝试使用 Javascript 正则表达式将整个段落拆分为一个句子。
段落:
I visited a bar in Kansas. At the entrance I see, "Welcome to the bar!" While leaving that place I see message, "Good night!"
I wondered how they changed the name.
我想把上面的段落拆分成句子。
- 我参观了堪萨斯州的一家酒吧。
- 在入口处我看到“欢迎来到酒吧!”
- 离开那个地方时,我看到消息“晚安!”
- 我想知道他们是如何更改名称的。 (“晚安!”之间有一个换行符(
<br>),我想知道怎么做..)
目前我正在使用正则表达式
var reg= /(\S.+?[.!?"'] | [.!?] + ["'!.?])(?=\s+[A-Z]|[^<br>]|$)/g;
但它没有将换行符(<br>) 视为单独的句子。它将单词拆分为
- 我参观了堪萨斯州的一家酒吧。
- 在入口处我看到“欢迎来到酒吧!”
- 离开那个地方时,我看到消息“晚安!”我想知道他们是如何改名的。
要创建换行符需要输入Shift+Enter键。
【问题讨论】:
-
var array = yourstring.split(".") 不适合你?
-
jQuery 是一个 DOM 操作库,而不是字符串库!
-
其实我需要处理所有的场景,任何一个句子都会以 .?!"' 结尾。如果有逗号后跟 " 或 ' 它应该把它当作一个完整的句子。示例:
-
这个怎么样:
/\.|\"\s\n?[A-Z]/。不完全正确,但更接近(将 \n 替换为 br)。
标签: javascript regex