我对Python还是很陌生。我正在分配工作,但我仍然不了解提取电子邮件时的find()方法如何工作。该函数的目的是使用find()方法提取电子邮件的公司(即@符号之后但。之前的所有内容)。
示例用法:
extract_company(“ larhe@uber.com”)应该返回“ uber”
所以我知道find(subtr,start,end)。而且我知道它应该如何工作,但是只有一种情况。但是,这要求在@和之间找到公司名称。
这是我到目前为止一直在使用的代码,但它仍然会给我断言错误
def extract_company(email):
return email.find('@' and '.')
答案 0 :(得分:2)
find()方法查找特定的字符串等。您要查找的是@之后的.com之前的单词,因此您可以使用正则表达式。但是还有另一种使用split的怪异方法
INSERT
此代码将执行的操作是将电子邮件地址拆分为“ @”,然后取最后一个项目并将其拆分为“。”。然后选择第一个列表项,即您的公司名称。
如果您打算使用正则表达式。然后代码将是:-
def extract_company(email):
return email.split('@')[-1].split('.')[0]
它的作用是查找“ @”和“。”之间的所有字符。然后返回该字符的列表。列表中的元素就是公司名称。
答案 1 :(得分:1)
def extract_company(email):
index_of_at = email.find('@')
return email[index_of_at+1:email.rfind('.')]
假设您需要使用基本的Python,这是一种方法。
index_of_at + 1
)和最后一个'。'(即email.rfind('.')
)开始。答案 2 :(得分:0)
您可以使用内置的re
库从电子邮件中提取公司名称。
示例:
import re
email = "lahre@uber.com"
print(re.findall(r'\w+[.]', email)[0][:-1])
输出:
uber