python实现文本分割

本文介绍了如何使用Python进行文本分割,特别是在自然语言理解中的数据预处理阶段,通过特定符号如‘,。?!…’将文章拆分成单独的句子,并确保每个子句独立成行。

文本分割是自然语言理解数据预处理中的重要步骤,本段程序实现的是用",。?!…”分割文章,并且分割子句单句成行

import re  
pattern = r"([,。?!…]+)" #正则匹配模式,用+表示至少一个字符
flags = [",","。","?","!","…","……"]
sentence_txt = []
with open("./test.txt","r",encoding="utf-8") as reader_file:
    for line in reader_file:#一行就是一篇文章
        spilt_list = re.split(pattern=pattern, string=line)
        segment = ""
        for segment_i in spilt_list:            
            segment += segment_i
            if segment_i in flags :
                #去除分割子句中的空格,\n,\t等符号,并加上"\r"回车符换行
                sentence_txt.append("".join(segment.split())+"\r")
                segment = ""
        sentence_txt.append("\r")
with open("./spilt.txt","w",encoding="utf-8") as writer_file:
    writer_file.writelines(sentence_txt)
    print(sentence_txt.__len__())

测试文本

我叫琼八蛋,我已经毕业很多年了,至于你要问我毕业的大学的话,非常抱歉,我很不乐意说,因为我的大学是非常神圣的,向别人说的时候我都会忍住。 以前在小学的时候,很多人都会问我:呃,蛋啊,你怎么会取穷八蛋这个名字。以前还小,我都很老实的告诉他们:是我爸爸取的。 但是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值