获取某个符号后的段落:需要更好的输出
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.
我是 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.