【问题标题】:Is there a way to split string from a file based to line space?有没有办法从基于行空间的文件中拆分字符串?
【发布时间】:2021-04-02 19:55:58
【问题描述】:

假设我有一个包含以下内容的文件


Pellentesque dapibus suscipit ligula.  Donec posuere augue in qu
am.  Etiam vel tortor sodales tellus ultricies commodo.  Suspendisse potenti.  Aenean in
 sem ac leo mollis blandit.  Donec neque quam, dignissim in, molli
s nec, sagittis eu, wisi.  Phasellus lacus.  Etiam laoreet quam se
d arcu.  Phasellus at dui in ligula mollis ultricies.  Integer pl
acerat tristique nisl.  Praesent augue.  Fusce commodo.  Vestibul
um convallis, lorem a tempus semper, dui dui euismod elit, vitae placer
at urna tortor vitae lacus.  Nullam libero mauris, consequat quis, var
ius et, dictum id, arcu.  Mauris mollis tincidunt felis.
  Aliquam feugiat tellus ut neque.  Nulla facilisis, risus a rhoncus
 fermentum, tellus tellus lacinia purus, et dictum nunc justo sit amet elit.


Pellentesque dapibus suscipit ligula.  Donec posuere augue in q
uam.  Etiam vel tortor sodales tellus ultricies commodo.  Suspendisse
 potenti.  Aenean in sem ac leo mollis blandit.  Donec neque quam,
 dignissim in, mollis nec, sagittis eu, wisi.  Phasellus lacus.  Etiam lao
reet quam sed arcu.  Phasellus at dui in ligula mollis ultricies. 
 Integer placerat tristique nisl.  Praesent augue.  Fusce commodo.  
Vestibulum convallis, lorem a tempus semper, dui dui euismod elit,
 vitae placerat urna tortor vitae lacus
.  Nullam libero mauris, consequat quis, 
varius et, dictum id, arcu.  Mauris mollis tincidunt felis. 
 Aliquam feugiat tellus ut neque.  Nulla facilisis, risus a 
rhoncus fermentum, tellus tellus lacinia pur us, et dictum nunc justo sit amet elit.

段落之间有行间距。所以我想根据行间距分割文件,一个段落作为一个数组中的一个字符串。

我尝试了.split("\n").splitlines(),但它们都基于线条而不是线条间隙进行分割。有没有办法根据行间距进行分割?

【问题讨论】:

  • 段落之间有一个行间距,所以我想分割为段落,一个段落作为一个数组中的一个字符串
  • .split("\n\n") 不工作吗?

标签: python list file split


【解决方案1】:

您可以使用正则表达式在 2 个或多个换行符处进行拆分:

import re

paragraphs = re.split(r"\n{2,}", text)
len(paragraphs)
# 2

如果间隙线可能包含空格,您可以修改正则表达式:

paragraphs = re.split(r"\n\s*\n", text)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 2018-04-24
    • 2021-08-11
    相关资源
    最近更新 更多