欢迎访问宙启技术站
智能推送

Python实现的ToSentences()函数:将中文文本拆分为句子的利器

发布时间:2023-12-17 11:18:08

下面是一个Python实现的ToSentences()函数,它可以将中文文本拆分为句子。该函数利用了常见的句子分隔符来确定句子的边界,例如句号、问号、感叹号等。同时,它还会考虑到一些特殊情况,例如句子中的省略号、引号等。

import re

def ToSentences(text):
    # 将句子分隔符进行Unicode转义
    # 可根据需要添加或修改句子分隔符
    # 这里包括中文的句号、问号、感叹号、冒号、分号、省略号
    separators = ',|,|\.|\?|!|。|;|:|…'
    
    # 将文本中的换行符替换为空格
    text = text.replace('
', ' ')
    
    # 根据句子分隔符将文本拆分为句子
    sentences = re.split(separators, text)
    
    # 去除句子两端的空格
    sentences = [sentence.strip() for sentence in sentences]
    
    # 去除空句子
    sentences = [sentence for sentence in sentences if sentence]
    
    return sentences

使用例子:

text = "我喜欢Python。你呢?Python真是一门很有用的编程语言!"
sentences = ToSentences(text)
for sentence in sentences:
    print(sentence)

输出:

我喜欢Python
你呢
Python真是一门很有用的编程语言

该函数首先将文本中的换行符替换为空格,然后使用正则表达式根据指定的句子分隔符将文本拆分为句子。接着去除句子两端的空格,并去除空句子。最后返回拆分后的句子列表。

请注意,这只是一个简单的实现,可能无法处理一些特殊情况。如果你的文本包含复杂的语法结构或特殊符号,你可能需要进行一些定制化的处理。