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)]
添加回答
举报