python:想问一下如果一个句子只有中间有逗号,末尾没有任何标点符号,如何用python实现中文分句?比如这句话【今天天气不错,我们出去玩吧】,理想分句结果是['今天天气不错,' , '我们出去玩吧']。但是由于【我们出去玩吧】这半句话没有标点符号,所以用正则表达式一分句,最后的结果就是这样的['今天天气不错,' ]
str = '今天天气不错,我们出去玩吧'
print(str.split(','))
输出:
['今天天气不错', '我们出去玩吧']
除了匹配标点,还要匹配字符串结束
该回答引用GPTᴼᴾᴱᴺᴬᴵ
你可以使用 Python 中的正则表达式来实现中文分句。以下是一个可能的实现方式:
import re
text = '今天天气不错,我们出去玩吧'
pattern = r'[^,。?!]+,?' # 匹配不含逗号、句号、问号和感叹号的一段话,后面可以跟零个或一个逗号
sentences = re.findall(pattern, text)
print(sentences) # ['今天天气不错,', '我们出去玩吧']
这个正则表达式只是一个简单的实现,对于一些特殊情况可能并不准确。如果需要更加准确的分句结果,可以考虑使用中文分词工具,例如 jieba 分词,然后根据标点符号对分词结果进行划分。