首页 > 解决方案 > 只知道其中的一部分来获得完整的单词

问题描述

我正在逐行搜索文本文件,我想取回所有包含前缀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

标签: pythonstringtext

解决方案


尝试这个:

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']

推荐阅读