将一篇文章分割成多条完成的句子(中文英文兼容)

利用正则表达式将一篇文章分割成多条完成的句子。

例如:如下一篇文章,需要分割成一句一句的文字:

paperClub分享一款免费的强大办公工具。我们开发了一款简单的办公小工具,paperBox,下面给大家演示一下他的功能。这里主要涉及两种情况:

(1)图片直接进行等比缩放,图片缩放为原来的0.5倍,或 缩放为原来的2倍;

(2)需要固定图像的长和宽,同时保存图片不变形,如将原来 600 x 800的图片调整为宽 300, 高300,同时保持图片不变形和扭曲,这情况主要见于证件照缩放等应用场景。

(3)PaperClub shares a powerful free office tool. We have developed a simple office gadget, paperBox. Let's demonstrate its functions. There are mainly two situations involved here

———————————————————————————————————————————————

分割结果:

第 1 句:paperClub分享一款免费的强大办公工具。

第 2 句:我们开发了一款简单的办公小工具,paperBox,下面给大家演示一下他的功能。

第 3 句:这里主要涉及两种情况:

第 4 句:(1)图片直接进行等比缩放,图片缩放为原来的0.5倍,或 缩放为原来的2倍;

第 5 句:(2)需要固定图像的长和宽,同时保存图片不变形,如将原来 600 x 800的图片调整为宽 300, 高300,同时保持图片不变形和扭曲,这情况主要见于证件照缩放等应用场景。

第 6 句:(3)PaperClub shares a powerful free office tool.

第 7 句: We have developed a simple office gadget, paperBox.

第 8 句: Let's demonstrate its functions.

第 9 句: There are mainly two situations involved here


-----------------------------------------------------------------

方法:



import re

from typingimport List

def docment_cutter(sentences:str) -> List:

""" 将一篇文章分割成多条完成的句子。"""

  sentences = re.sub('([。!?\?])([^”’])', r"\1\n\2", sentences)

sentences = re.sub('([\.;])(\s)', r"\1\n\2", sentences)# 英文断句

  sentences = re.sub('(\.{6})([^”’])', r"\1\n\2", sentences)# 英文省略号

  sentences = re.sub('(\…{2})([^”’])', r"\1\n\2", sentences)# 中文省略号

  sentences = re.sub('([。!?\?][”’])([^,。!?\?])', r'\1\n\2', sentences)

sentences = sentences.rstrip()

return list(filter(bool, sentences.split("\n")))

texts ="""paperClub分享一款免费的强大办公工具。我们开发了一款简单的办公小工具,paperBox,下面给大家演示一下他的功能。这里主要涉及两种情况:

(1)图片直接进行等比缩放,图片缩放为原来的0.5倍,或 缩放为原来的2倍;

(2)需要固定图像的长和宽,同时保存图片不变形,如将原来 600 x 800的图片调整为宽 300, 高300,同时保持图片不变形和扭曲,这情况主要见于证件照缩放等应用场景。

(3)PaperClub shares a powerful free office tool. We have developed a simple office gadget, paperBox. Let's demonstrate its functions. There are mainly two situations involved here

"""

sentences = docment_cutter(texts)

for i, sentencein enumerate(sentences):

print(f"第 {i+1} 句:{sentence}")

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容