我在一个文本文件中有一个句子,我想用python显示它,但是我希望在每一个句号(句点)之后都有一个新行开始显示。在
例如我的段落是
"Dr. Harrison bought bargain.co.uk for 2.5 million pounds, i.e. he
paid a lot for it. Did he mind? John Smith, Esq. thinks he didn't.
Nevertheless, this isn't true... Well, with a probability of .9 it
isn't."
但我希望它显示如下
^{pr2}$在句子中出现的其他句点,如网站地址中的“Dr.”、“Esq”、“.9”以及省略号中的前两个点,这一点变得越来越困难。在
对于文本文件中存在的其他句点,我不确定如何处理这个问题,有人能帮忙吗?谢谢您。在
“你的任务是编写一个程序,给定一个文本文件的名称就可以编写 将每个句子放在单独的行中。“<;--任务集
当且仅当点后跟空格和大写字母时,才可以添加换行符。它不能解决所有的问题,但是结合使用像“Dr.”这样的例外字典,你可以做得很好,尽管不是完美的。在
更新: 我所说的字典指的是Python字典和单词列表like this one 我没有找到任何包含最常见缩写的可下载文件,所以恐怕你得自己做一个。在
这将对您的文本执行以下操作:
结果
^{pr2}$但在人类写作这样复杂的事情中,不可能有一个永远不会失败的regex模式。
请注意,例如,我不得不用否定的lookbehind断言来排除Dr.的情况(我对Esq.也做了同样的处理,尽管它在你的文本中并不代表一个问题,因为它后面跟的不是大写字母的thinks)
我认为不可能事先将所有类似的情况都放在regex模式中,总有一些未经考虑的情况会在某一天或另一天发生。在
但是这段代码完成了很多期望的工作。我觉得还不错。在
相关问题 更多 >
编程相关推荐