从电子邮件正文中提取字符串

问题描述 投票:0回答:1

我正在使用 python 使用 imap 提取电子邮件正文中提供的信息。

我的代码感兴趣的部分电子邮件:

"BOT ID: 4824CF8B-2986-11EC-80F0-84A93851B964"

我可以使用

从电子邮件正文中提取确切的字符串
    if content_type == "text/plain" and "attachment" not in content_disposition:
        import re
        ID_pattern = r"BOT ID: (\w+)-(\w+)-(\w+)-(\w+)-(\w+)"
        machine_id = re.findall(ID_pattern, body)
        print(machine_id)

但它返回:

"[('4824CF8B', '2986', '11EC', '80F0', '84A93851B964')]"

我如何操作这个图元/列表以保持原始模式: xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx

谢谢大家。

import re
ID_pattern = r"BOT ID: (\w+)-(\w+)-(\w+)-(\w+)-(\w+)"
machine_id = re.findall(ID_pattern, body)
print(machine_id)

结果:

[('4824CF8B', '2986', '11EC', '80F0', '84A93851B964')]

预计:

4824CF8B-2986-11EC-80F0-84A93851B964

python string list python-re imapi
1个回答
0
投票

只需使用

join
将所有元素连接成一个字符串

result = [('4824CF8B', '2986', '11EC', '80F0', '84A93851B964')]

result_string = "-".join(result[0])

'4824CF8B-2986-11EC-80F0-84A93851B964'
© www.soinside.com 2019 - 2024. All rights reserved.