python-3.x - 从文件中读取如何将字符串附加到列表中,直到 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
解决方案
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']
推荐阅读
- asn.1 - 如何从 BER 创建 ASN.1 规范文件?
- mysql - Laravel 8 数据库连接拒绝 MacBook
- flutter - 我在绘制进度指示器时遇到问题
- python - discord.py bot 不会在 vc 中播放更长的音乐:OSError: [Errno 9] Bad file descriptor
- jdbc - Jasper 报告数据库连接测试仅成功一次
- c# - 转换 IEnumerable
到 IEnumerable - sql - SQL中的逆对数正态函数
- android - Xamarin.UITest 3.0.14 apksigner 未找到
- php - Migrate to PHP 8.0: Unbinding $this when $this is used
- php - 以编程方式从订阅/订单中删除优惠券