我想将一个文本文件拆分成段落,用1个或多个空行分隔。 例如:
# file.txt
"Paragraph1
Some text
Paragraph2
More text
Paragraph3
some more text"
我尝试使用regex,但我不确定是否正确。 在本例中,我试图只打印第二段,但我得到了一个List index out of range
错误。 但是当我打印p[0]
时,它会打印整个文本文件。 我做错了什么? 是否应该使用不同的正则表达式? 或其他方法将文件拆分成段落?
with open(file) as f:
text = f.read()
p = text.split("[\r\n]+")
print(p[1])
使用re.split()
>>> import re
>>> re.split(r'[\r\n][\r\n]+', text)
['Paragraph1\nSome text', 'Pragraph2\nMore text', 'Paragraph3\nsome more text']
您有一个错误,因为您没有拆分文本(因此,没有第二个元素),相反,您可以使用这个分隔符:
p = text.split("\n\n")