将文本分割成句子
我想把文本分成句子。有没有人能帮我一下?
我还需要处理缩写。不过我的计划是在更早的阶段就把这些缩写替换掉。比如,Mr. 替换成 Mister。
import re
import unittest
class Sentences:
def __init__(self,text):
self.sentences = tuple(re.split("[.!?]\s", text))
class TestSentences(unittest.TestCase):
def testFullStop(self):
self.assertEquals(Sentences("X. X.").sentences, ("X.","X."))
def testQuestion(self):
self.assertEquals(Sentences("X? X?").sentences, ("X?","X?"))
def testExclaimation(self):
self.assertEquals(Sentences("X! X!").sentences, ("X!","X!"))
def testMixed(self):
self.assertEquals(Sentences("X! X? X! X.").sentences, ("X!", "X?", "X!", "X."))
谢谢,
巴里
编辑:首先,我希望能满足我上面提到的四个测试。这会帮助我更好地理解正则表达式是怎么工作的。现在我可以把句子定义为我测试中提到的 X 等等。