我需要从文本中获取前N个句子,其中句子的最后一个字符可以是句点、冒号或分号。例如,给定本文:
Lorem ipsum, dolor sit amet. consectetur adipisicing elit; sed do eiusmod tempor.
incididunt ut labore: et dolore magna aliqua. Ut enim ad. minim veniam.
前4句话是
^{pr2}$目前,我的代码使用.
、:
、和{
import re
sentences = re.split('\. |: |;', text)
summary = ' '.join(sentences[:4])
但它将从结果中删除分隔符。我对正则表达式或基本字符串操作持开放态度。在
所以,我知道这个问题是关于使用regex来查找句子,但是,出于同样的原因,regex不是解析html(不同语法类)的正确选择,对于涉及自然语言的问题,regex是一个更糟糕的选择。在
如果你的目标是描述句子,你必须寻找其他工具。我个人推荐nltk提供的Punkt语句标记器。下面是一个例子,说明为什么对于这个任务来说,这是一个比regex更好的选择。在
http://nltk.org/api/nltk.tokenize.html了解更多信息。在
这样做会更有效,请通过格式化
^{2}$4
来调整您的需要:可以将}结合,并进行字符串切片(以避免回接并保留分隔符):
re.finditer
与{相关问题 更多 >
编程相关推荐