利用正則表達(dá)式將一篇文章分割成多條完成的句子翅楼。
例如:如下一篇文章罕邀,需要分割成一句一句的文字:
paperClub分享一款免費(fèi)的強(qiáng)大辦公工具跋涣。我們開發(fā)了一款簡單的辦公小工具揩环,paperBox斜纪,下面給大家演示一下他的功能贫母。這里主要涉及兩種情況:
(1)圖片直接進(jìn)行等比縮放,圖片縮放為原來的0.5倍盒刚,或 縮放為原來的2倍腺劣;
(2)需要固定圖像的長和寬,同時保存圖片不變形因块,如將原來 600 x 800的圖片調(diào)整為寬 300橘原, 高300,同時保持圖片不變形和扭曲涡上,這情況主要見于證件照縮放等應(yīng)用場景趾断。
(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
———————————————————————————————————————————————
分割結(jié)果:
第 1 句:paperClub分享一款免費(fèi)的強(qiáng)大辦公工具。
第 2 句:我們開發(fā)了一款簡單的辦公小工具吩愧,paperBox芋酌,下面給大家演示一下他的功能。
第 3 句:這里主要涉及兩種情況:
第 4 句:(1)圖片直接進(jìn)行等比縮放雁佳,圖片縮放為原來的0.5倍隔嫡,或 縮放為原來的2倍;
第 5 句:(2)需要固定圖像的長和寬甘穿,同時保存圖片不變形腮恩,如將原來 600 x 800的圖片調(diào)整為寬 300, 高300温兼,同時保持圖片不變形和扭曲秸滴,這情況主要見于證件照縮放等應(yīng)用場景。
第 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分享一款免費(fèi)的強(qiáng)大辦公工具李命。我們開發(fā)了一款簡單的辦公小工具,paperBox箫老,下面給大家演示一下他的功能封字。這里主要涉及兩種情況:
(1)圖片直接進(jìn)行等比縮放,圖片縮放為原來的0.5倍耍鬓,或 縮放為原來的2倍阔籽;
(2)需要固定圖像的長和寬,同時保存圖片不變形牲蜀,如將原來 600 x 800的圖片調(diào)整為寬 300笆制, 高300,同時保持圖片不變形和扭曲各薇,這情況主要見于證件照縮放等應(yīng)用場景项贺。
(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}")