首页 > 解决方案 > 从文件中读取如何将字符串附加到列表中,直到 python 中的特定标记

问题描述

我有一个输入文本文件:

  This file contains information of students who are joining picnic:
     @@@ bob alice rhea john 
     mary alex roma
     peter &##&

现在我想在找到 @@@ 标记时将学生姓名附加到一行列表中,并在找到 &##& 标记时停止附加。输出应该是(使用python):

bob alice rhea john mary alex roma peter 

标签: python-3.xlist

解决方案


re.findall与 一起使用re.sub

inp = """This file contains information of students who are joining picnic:
@@@ bob alice rhea john 
mary alex roma
peter &##&"""

output = re.sub(r'\s+', ' ', re.findall(r'@@@\s+(.*?)\s+&##&', inp, flags=re.DOTALL)[0])
print(output)  # bob alice rhea john mary alex roma peter

如果你想要一个列表,那么使用:

output = re.split(r'\s+', re.findall(r'@@@\s+(.*?)\s+&##&', inp, flags=re.DOTALL)[0])
print(output)

这打印:

['bob', 'alice', 'rhea', 'john', 'mary', 'alex', 'roma', 'peter']

推荐阅读