嗨,我的观点中有一个数组,例如
user_domain_array = ['rohit@ghrix.com','rahul@ghrix.com','rishi@ghrix.com']
我需要先从所有电子邮件 ID 中删除每个元素中的文本,这样 @
我才能获得类似 的值
ghrix.com
请建议我该怎么做。
使用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'
>>> 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']
>>>
正则表达式 = 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']