如果我的文本带有标准段落格式(空行后跟缩进),例如文本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.
由于前导空格对于标准格式和非标准格式都是通用的,我考虑过对正则表达式的正则表达式进行索引以获得前导空格并使段落中断,但必须有一种更优雅的方法来实现这一点。
答案 0 :(得分:12)
你提出的正则表达式解决方案看起来很优雅:
re.split('\s{4,}',text)
这使用4个连续的空格字符作为段落分隔符。如果更适合,您可以使用'\n\s{3,}'
或类似的东西。