gpt4 book ai didi

javascript - 当段落以引号结尾时,使用 Javascript 将段落拆分成句子

转载 作者:行者123 更新时间:2023-12-03 12:06:00 25 4
gpt4 key购买 nike

我正在尝试使用 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.

我想把上面的段落分成句子。

  1. 我参观了堪萨斯州的一家酒吧。
  2. 在入口处,我看到“欢迎来到酒吧!”
  3. 离开那个地方时,我看到消息“晚安!”
  4. 我想知道他们是如何更改名称的。 (“晚安!”之间有一个换行符(<br>),我想知道如何..)

目前我正在使用正则表达式

var reg= /(\S.+?[.!?"'] | [.!?] + ["'!.?])(?=\s+[A-Z]|[^<br>]|$)/g;

但它没有将换行符( <br> )视为一个单独的句子。它将单词分成

  1. 我参观了堪萨斯州的一家酒吧。
  2. 在入口处,我看到“欢迎来到酒吧!”
  3. 离开那个地方时,我看到一条消息:“晚安!”我想知道他们是怎么改名字的。

要创建换行符需要输入 Shift+Enter 键。

最佳答案

我不确定我是否完全理解您需要什么,但这个正则表达式应该可以解决问题

var re = /(\w[^.!?]+[.!?]+"?)\s?/g;

您可以看到matches here (请注意正则表达式右侧表示全局的 g)。我相信它会根据你想要的内容正确地分割匹配。如果有问题请告诉我。

代码应该类似于(直接取自 http://regex101.com )

var re = /([^.!?]+[.!?]"?)\s?/g; 
var str = 'I visited a bar in Kansas. At the entrance I see, "Welcome to the bar!" While leaving that place I see message, "Good night!"\nI wondered how they changed the name.';
var m;

while ((m = re.exec(str)) != null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}

关于javascript - 当段落以引号结尾时,使用 Javascript 将段落拆分成句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25188325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com