-4

嗨,我的观点中有一个数组,例如

user_domain_array = ['rohit@ghrix.com','rahul@ghrix.com','rishi@ghrix.com']

我需要先从所有电子邮件 ID 中删除每个元素中的文本,这样 @我才能获得类似 的

ghrix.com

请建议我该怎么做。

4

3 回答 3

3

使用str.split()

for email in user_domain_array:
    domain = email.split('@', 1)[-1]

这将字符串拆分一次@然后获取结果列表的最后一个元素。这样做的好处是即使输入字符串中不存在 at 符号,您仍然可以获得结果。

演示:

>>> 'rohit@ghrix.com'.split('@', 1)[-1]
'ghrix.com'
>>> 'rohit.ghrix.com'.split('@', 1)[-1]
'rohit.ghrix.com'
于 2013-10-04T07:35:30.297 回答
2
>>> user_domain_array = ['rohit@ghrix.com','rahul@ghrix.com','rishi@ghrix.com']
>>> [domain.split('@')[1] for domain in user_domain_array]
['ghrix.com', 'ghrix.com', 'ghrix.com']
>>> 
于 2013-10-04T07:39:53.370 回答
0

正则表达式 = re.compile("@")

[ i.split(m.group())[1] for i in user_domain_array for m in [regex.search(str(i))] if m]

它将在两种输入条件下工作-:

1) user_domain_array = ['rohit@ghrix.com','rahul@ghrix.com','rishi@ghrix.com']

2) user_domain_array = ['rohit.ghrix.com','rahul@ghrix.com','ghrix.com']

于 2013-10-04T09:35:53.900 回答