提问者:小点点

Python如何将文本文件拆分成段落?


我想将一个文本文件拆分成段落,用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])

共2个答案

匿名用户

使用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")