2013-05-26 88 views
1

给定段落,我想将它拆分成句子。目前,我只是这样做:将段落拆分成句子

var sentences = paragraph.split('.'); 

它的工作原理在大多数情况下,但开始时它给了一句这样的失败:

阿拉斯加是美国

最大的国家

因为U.S.有句点,所以解析出S为句子。

确定段落中句子的最佳方式是什么?我想根据大写字母前的最后一段来解析它们,但是如果段落输入不正确(在句号后面输入一个小写字母),它也会失败

+1

我错了吗?还是你对JavaScript的兴趣不如检验句子的理论?那么这可能是更多的问题http://programmers.stackexchange.com/ –

+0

啊,欢迎来到正则表达式问题。那就是说,为什么不呢:'split('。\ s +')'? (虽然我第二个错误的建议,正则表达式解析语言/语法是尴尬的)。 –

+1

不要忘记,一句话可以结束在别的东西不是点! –

回答

0

我会先将段落标记为通过分割空白词。然后重新组装查找以句号,问号和感叹号结尾的单词。如果它在一段时间内结束,请检查单词是否有多个句点 - 如果是,那么它是一个缩写而不是句子的结尾。

+1

虽然离德怀特·D·艾森豪威尔的任何判决都是无效的,但这还不算完美。 – nyson