获取某个符号后的段落:需要更好的输出

Get paragraphs after a certain symbol: need better output

我是 python 初学者。

我有这段代码可以获取符号“*****”之后的所有段落

import re


file = open('/Users/simon/DRIVE/ARCHIVED/Tools at Hand/PASTE.txt', mode='r')

result = [s.strip() for s in re.findall(r'^\*{4,}((?:\r?\n(?!\s*$|\*{4}).+)*)', file.read(), 

re.MULTILINE)]



print(result)
file.close()

输入:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

****
Sed id placerat magna.

*******
Pellentesque in ex ac urna tincidunt tristique. 

Etiam dapibus faucibus gravida.

我需要的输出:

Sed id placerat magna.

Pellentesque in ex ac urna tincidunt tristique. 

我得到的输出:

'Sed id placerat magna.', 'Pellentesque in ex ac urna tincidunt tristique.'

我似乎想不出如何输出每个段落的每个句子。

使用 re.findall returns 包含捕获组值的列表。

例如,您可以 print* 前面的列表解压 result 并将分隔符设置为 2 个换行符。

import re

file = open('/Users/simon/DRIVE/ARCHIVED/Tools at Hand/PASTE.txt', mode='r')

result = [s.strip() for s in re.findall(r'^\*{4,}((?:\r?\n(?!\s*$|\*{4}).+)*)', file.read(), re.MULTILINE)]

print(*result, sep="\n\n")

file.close()

输出

Sed id placerat magna.

Pellentesque in ex ac urna tincidunt tristique.