提前判刑

时间:2014-04-17 15:12:00

标签: python split sentence

Python问题!

我想在文本文件中分割句子方面提供一些帮助。我不想创建一个大规模的if循环,但我需要找到一种方法如何将文本文件拆分成句子。我必须在没有.readlines()

的情况下这样做

我想用句号,引语和惊叹号分开句子......但是:

  1. 句号后跟空格后跟小写字母不会拆分句子
  2. 句号后跟一个没有插入空格的数字不会拆分句子
  3. 诸如先生,夫人,博士等的事情不会分裂当然的句子
  4. 字母序列,例如www.website.com等。)
  5. 在最后一个句点后跟逗号等标点符号和更多句点(省略号)
  6. 我想将文本文件中的这些拆分句子打印出来给用户。我该如何处理这个过程?我理解基本的字符串格式和索引,但添加省略号,姓氏等对我来说会更难...

    **还将使用tkinter创建一个打开文件按钮和一个下拉菜单,允许用户从.txt文件中每行一个句子的程序输出创建一个新的文本文件。

    谢谢!

    以下是我的内容

    import re
    
    punctuation = ['.', '?', '!']
    exceptions = ['Mr.', 'Mrs.', 'Ms.', 'Sr.', 'e.g', '...']
    lines = []
    
    with open('myData.txt') as myFile:
        lines = re.split(punctuation, myFile)
    

1 个答案:

答案 0 :(得分:0)

这是我的代码

import re

punctuation = re.compile(r"([^\d+])(\.|!|\?|;|\n|。|!|?|;|…| |!|؟|؛)+")
lines = []

with open('myData.txt','r',encoding="utf-8") as myFile:
    lines = punctuation.sub(r"\1\2<pad>", myFile.read())
    lines = [line.strip() for line in lines.split("<pad>") if line.strip()]