在Python中提取邮箱中的域名(包括多种特殊情况)
我想用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]