Python正则表达式是否匹配一个或多个换行符?

2024-09-27 23:26:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将文本文件拆分为段落,由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])

Tags: texttxtmoresomelist例子file段落
3条回答

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

尝试使用下面的方法在文本中添加一个空格

进口稀土

fin=打开(“data.txt”、“rt”) fout=打开(“out.txt”、“wt”)

对于fin中的行: fout.write(re.sub('\s+','',第行))

财务结束() fout.close()

相关问题 更多 >

    热门问题