-1

我正在尝试使用 jquery 将一段文本拆分成句子。但是,我遇到了一些句子会被错误拆分的情况。

如下案例

我的答案是 5.6 个答案是错误的。

鉴于上述情况,如果没有空格,则不能拆分两个句子。

目前我这样做的方式只是查找期间的索引,这不起作用。有没有办法使用正则表达式匹配方法来做到这一点?

提前致谢!

4

2 回答 2

2

句子拆分是一个充满异常的问题。考虑一下:

对脾气暴躁的先生来说,那是一段黑暗时期,他被恰当地打了个勾。

大多数人寻找后面跟着一些空格的句点,而不是前面一些已知是首字母缩略词的特殊单词,如Mr.

(?<!Mr|Mrs|Dr)\.\s+

然后split在这个。

即使这也不是那么好,因为它不考虑随机首字母,所以James T. Kirk会打败它。如果您不允许这样做((?<!Mr|Mrs|^[A-Z]|\s[A-Z])在后面),那么您将无法阻止以单个字母 ( Look at exhibit B.) 结尾的句子。

难的。

于 2012-12-13T06:59:41.067 回答
1

您可以检查'.'空格。像这样:

var paragraph = 'se tenc one. se tenc two. se tenc 5.6 one. ';
var sentenses = paragraph.split(/\.[ ]+/g); 
alert(sentenses);

它会显示se tenc one,se tenc two,se tenc 5.6 one,

现在您可以添加其他句尾字符,例如'!?;'.

var paragraph = 'se tenc one. se tenc two. se tenc 5.6 one. ';
var sentenses = paragraph.split(/[\.!?;][ ]+/g); 
alert(sentenses);
于 2012-12-13T06:58:27.527 回答