python - 只知道其中的一部分来获得完整的单词
问题描述
我正在逐行搜索文本文件,我想取回所有包含前缀AAAXX1234的字符串。例如在我的文本文件中我有这些行
你好,我的 ID 是 [123423819:: AAAXX1234_3412 ] #我想要那个(AAAXX1234_3412)
你好,我的 ID 是 [738281937:: AAAXX1234_3413 : AAAXX1234_4212 ] #我想要他们两个(AAAXX1234_3413, AAAXX1234_4212)
你好,我的 ID 是 [123423819::XXWWF1234_3098] #我不在乎
我有一个代码只是为了检查该行是否以“Hello my ID is”开头
with open(file_hrd,'r',encoding='utf-8') as hrd:
hrd=hrd.readlines()
for line in hrd:
if line.startswith("Hello my ID is"):
#do something
解决方案
尝试这个:
import re
with open(file_hrd,'r',encoding='utf-8') as hrd:
res = []
for line in hrd:
res += re.findall('AAAXX1234_\d+', line)
print(res)
输出:
['AAAXX1234_3412', 'AAAXX1234_3413', 'AAAXX1234_4212']
推荐阅读
- c# - 无论我尝试什么对象/网站,GetElementById 总是返回 null
- python - 从 Pandas 中多个时区的时间戳中提取日期
- r - 对于 r 中的循环问题:if (length[i] == 1) { 中的错误:需要 TRUE/FALSE 的缺失值
- java - 将秒除以 60 两次得到小时结果为零
- java - Spark 和 ElasticSearch 集成
- udp - gst-launch bogus 'no element "udpsrc"' 错误
- c# - C#将值添加到带有标识符号的组合框
- node.js - 为什么 Multer 在 nodeJS 上导致 errno -4058
- javascript - 你如何通过一个数组来随机生成一个不重复的随机数?
- python - 使用 np.where 时类型比较无效?