2 回答

TA貢獻1827條經驗 獲得超4個贊
您可以使用 . 獲取整個文件作為單個字符串file_as_string = file_object.read()。由于您想將此字符串拆分為空行,這相當于拆分兩個后續換行符,因此我們可以這樣做sentences = file_as_string.split("\n\n")。最后,您可能想要刪除句子中間仍然存在的換行符。您可以通過列表理解來做到這一點,將換行符替換為空:sentences = [s.replace('\n', '') for s in sentences]
總共給出:
file_as_string = file_object.read()
sentences = file_as_string.split("\n\n")
sentences = [s.replace('\n', '') for s in sentences]

TA貢獻1810條經驗 獲得超4個贊
為此,您可以非常有效地使用正則表達式拆分。
如果您只想用雙空格分隔,請使用:
^[ \t]*$
在Python中,你可以這樣做:
import re
with open(fn) as f_in:
sentencences=re.split(r'\r?\n^[ \t]*$', f_in.read(), flags=re.M)
如果要刪除\n文本中的單個內容:
with open(fn) as f_in:
sentencences=[re.sub(r'[ \t]*(?:\r?\n){1,}', ' ', s)
for s in re.split(r'\r?\n^[ \t]*$', f_in.read(), flags=re.M)]
添加回答
舉報