繁体   English   中英

python每3行拆分一次字符串

[英]python split string every 3 lines

我需要每 3 行拆分此字符串并将其添加到列表中,这可能吗?

a_string = """
LINE 1
LINE 2
LINE 3
LINE 4
LINE 5
LINE 6"""

split_strings = []
n  = 3
for index in range(0, a_string.count('\n'), n):
    split_strings.append(f"{a_string[index : index + n]}")




n = 0
for s in split_strings:
    print(split_strings[n])
    print("----------------------------------------------------------")
    n = n+1

我得到这个输出:

LI
----------------------------------------------------------
NE
----------------------------------------------------------

您可以使用正则表达式:

import re
re.findall('((?:[^\n]+\n?){1,3})', a_string)

输出:

['LINE 1\nLINE 2\nLINE 3\n', 'LINE 4\nLINE 5\nLINE 6']

如果你想要一个列表列表:

import re
[x.strip().split('\n') for x in re.findall('((?:[^\n]+\n?){1,3})', a_string)]

输出:

[['LINE 1', 'LINE 2', 'LINE 3'],
 ['LINE 4', 'LINE 5', 'LINE 6']]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM