【问题标题】:Get paragraphs after a certain symbol: need better output获取某个符号后的段落:需要更好的输出
【发布时间】:2021-10-16 01:14:24
【问题描述】:

我是 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.'

我似乎无法弄清楚如何在每个段落中输出每个句子。

【问题讨论】:

    标签: python text extract paragraph


    【解决方案1】:

    使用re.findall 返回一个包含捕获组值的列表。

    例如,您可以将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.
    

    【讨论】:

      猜你喜欢
      • 2021-08-28
      • 2020-08-30
      • 2011-07-23
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      相关资源
      最近更新 更多