在Python中提取邮箱中的域名(包括多种特殊情况)

2 投票
2 回答
12244 浏览
提问于 2025-04-17 14:24

我想用Python从电子邮件字符串中提取出域名。对于像abc@xyz.com这样的简单情况,下面的方法效果很好:

string.split("@")[1].rstrip(".com")   #would give me "xyz"

但是我希望能找到一个解决方案,能够处理以下这些情况:

  • abc@alumni.xyz.com
  • abc@xyz.org
  • abc@xyz.co.in
  • abc@xyz.it

我想到的一种解决办法是使用正则表达式,去掉最后一个点后面的所有东西,但这样处理后,像“xyz.co.sy”这样的特殊域名就会留下来,我希望能只得到“xyz”。

2 个回答

0

下面的代码可以帮助你实现你想要的功能:

fromAddr = message.get('From').split('@')[1].rstrip('>')
        fromAddr = fromAddr.split(' ')[0]
6

这个方法也可以用。

str.split("@")[1].split(".")[0]

撰写回答