【发布时间】:2020-07-27 15:03:44
【问题描述】:
我想将一个文本文件分成多个段落,用 1 个或多个空行分隔。 例如:
# file.txt
"Paragraph1
Some text
Paragraph2
More text
Paragraph3
some more text"
我尝试使用正则表达式,但我不确定我是否正确使用。在示例中,我仅尝试打印第二段,但出现list index out of range 错误。但是当我打印p[0] 时,它会打印整个文本文件。我究竟做错了什么?我应该使用不同的正则表达式吗?或者其他方法将文件分成段落?
with open(file) as f:
text = f.read()
p = text.split("[\r\n]+")
print(p[1])
【问题讨论】:
-
您拥有的
+和[]是正则表达式元字符。 Python 的常规str.split()不接受正则表达式参数。 -
啊,我明白了,那么看起来 "\n\n" 应该可以工作
-
*似乎 "\n\n" 应该可以工作 * 正确。