以空行为分隔符分割文本
一个文本由多段文字组成,每段文本之间以一个空行分段,如何在Python以空行为分割符分割文本呢?类似如下文本:
12345678
qwe .... rtyuio
yijouop[op
4567890-
#$%^ghj
一二三,../四 ghj op
后即可uijoo
2345678
uiopppp
[{}:":';'
?什么意思? 看懂了,每三行分隔一次吗? 生成一个列表,每一段文本为一个列表元素。总的来说就是想知道有没有办法可以以空行为分割符分割文本。
https://www.jiyik.com/tm/xwzj/prolan_1403.html 这个链接文章说用split("\n\n")但是不对。 先占楼 对于这个问题,你可以使用Python的 split 方法和正则表达式。这里是一个例子:
text = """
12345678
qwe .... rtyuio
yijouop[op
4567890-
#$%^ghj
一二三,../四 ghj op
后即可uijoo
2345678
uiopppp
[{}:":';'
"""
# 分割文本
segments = text.split('\n\n')
# 打印结果
for i, segment in enumerate(segments):
print(f"Segment {i+1}:\n{segment}\n")
在这个例子中,我们将文本按照'\n\n'(代表空行)进行了分割,然后打印出了分割后的每一段。你会发现,每一段都是原来文本中空行之间的内容。 可以使用以下代码将文本以空行分割成多个段落:
# 读入文本
with open('filename.txt', 'r') as f:
text = f.read()
# 以空行分割文本
paragraphs = text.split('\n\n')
其中 `split()` 方法可以接收一个参数,该参数为要用来切割字符串的分割符。在这里我们使用两个连续的换行符 `\n\n` 作为分割符,这样就可以将文本按照空行进行分割了。分割后得到的每个元素即为一个段落,保存在列表 `paragraphs` 中。
需要注意的是,在 Windows 平台上,换行符通常是 `\r\n` 而不是单独的 `\n`,因此如果文本采用的是 Windows 的格式,那么需要将分割符改为两个连续的换行符 `\r\n\r\n`。
给个最佳答案{:10_254:} c{:10_244:}
页:
[1]