2013-04-10 109 views
4

如果我使用标准段落格式(空行后跟缩进)(如文本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. 

由于前导空格是共同的标准和非标准格式我已经想过在正则表达式匹配索引的前导空格和获取段落符这种方式,但有必须是一个更优雅的方式来做到这一点。

回答

9

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

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

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