6

如果我有标准段落格式的文本(一个空行后跟一个缩进),例如文本 1,那么使用 text.split("\n\n") 提取段落就很容易了。

文本1:

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sit amet sapien velit, ac sodales   
 ante. Integer mattis eros non turpis interdum et auctor enim consectetur, etc.

      Praesent molestie suscipit bibendum. Donec justo purus, venenatis eget convallis sed, feugiat    
 vitae velit,etc.

但是,如果我有非标准段落格式的文本,例如文本 2,该怎么办?没有空行和可变的前导空格。

文本 2:

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sit amet sapien velit, ac sodales   
 ante. Integer mattis eros non turpis interdum et auctor enim consectetur, etc.
    Praesent molestie suscipit bibendum. Donec justo purus, venenatis eget convallis sed, feugiat    
 vitae velit,etc.

由于前导空格在标准和非标准格式中都很常见,我考虑过在正则表达式匹配上为前导空格建立索引并以这种方式获取段落中断,但必须有一种更优雅的方法来做到这一点。

4

1 回答 1

13

您提出的正则表达式解决方案似乎足够优雅:

re.split('\s{4,}',text)

这使用 4 个连续的空白字符作为段落分隔符。'\n\s{3,}'如果更合适,您可以使用或类似的东西。

于 2013-04-10T19:11:15.797 回答