【leecode】独特的电子邮件地址
2024-10-18 08:23:11
每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。
例如,在 alice@leetcode.com
中, alice
是本地名称,而 leetcode.com
是域名。
除了小写字母,这些电子邮件还可能包含 ','
或 '+'
。
如果在电子邮件地址的本地名称部分中的某些字符之间添加句点('.'
),则发往那里的邮件将会转发到本地名称中没有点的同一地址。例如,"alice.z@leetcode.com”
和 “alicez@leetcode.com”
会转发到同一电子邮件地址。 (请注意,此规则不适用于域名。)
如果在本地名称中添加加号('+'
),则会忽略第一个加号后面的所有内容。这允许过滤某些电子邮件,例如 m.y+name@email.com
将转发到 my@email.com
。 (同样,此规则不适用于域名。)
可以同时使用这两个规则。
给定电子邮件列表 emails
,我们会向列表中的每个地址发送一封电子邮件。实际收到邮件的不同地址有多少?
输入:["test.email+alex@leetcode.com","test.e.mail+bob.cathy@leetcode.com","testemail+david@lee.tcode.com"]
输出:
解释:实际收到邮件的是 "testemail@leetcode.com" 和 "testemail@lee.tcode.com"。
class Solution:
def numUniqueEmails(self, emails):
"""
:type emails: List[str]
:rtype: int
"""
import re
num_list = []
for email in emails:
email_head = re.findall('(.*)@', email)[0]
email_tail = re.findall('@.*', email)[0]
email_body_1 = email_head.replace('.', '')
email_body_2 = re.findall('(.*?)\\+', email_body_1)
# print(email_body_2)
if email_body_2:
email_body_2 = email_body_2[0]
else:
email_body_2 = email_body_1
num_list.append(email_body_2+email_tail)
# print(num_list)
return len(set(num_list))
解答
最新文章
- AngularJS过滤器filter-保留小数,小数点-$filter
- Expression Blend4经验分享:制作一个简单的文字按钮样式
- windows常用命令
- 指定IE浏览器渲染方式
- input与button按钮背景图失效不显示的解决办法
- 关于模拟器不能运行项目问题:Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
- SQL查询四舍五入 解决方法
- linux free命令解读
- C语言之赋值
- Exp2后门原理与实践 20164312马孝涛
- 微服务与容器化Docker
- 实现hibernate 的validator校验
- 收藏一个带动画效果的ScrollViewer以及ScrollBar的模板
- vuejs之v-if-ajax异步请求数据遇到的坑
- 【Linux高级驱动】input子系统框架
- WPF编程,通过Double Animation动态旋转控件的一种方法。
- resteasy经验谈
- java导出txt文件
- 使用 MVVMLight 命令绑定
- 20145240《网络对抗》逆向及Bof基础实践