从Python中的String中提取电子邮件服务提供者

时间:2019-05-11 11:10:31

标签: python string

我想从用户输入中提取电子邮件服务提供商,以下代码没有给我错误,但也没有结果。

知道有人可以复查并让我知道我做错了吗?

代码:

getEmail = input("Write your email: ")

email = getEmail.index('@')

print(getEmail[:email])
print("Your user name is : " + getEmail[:email])
print("Your Email service provider is : " + getEmail[getEmail.index('@'):getEmail.index('.')])

输出

Write your email: nick.fury@gmail.com
nick.fury
Your user name is : nick.fury
Your Email service provider is : 

预期结果

您的用户名是:nick.fury

您的电子邮件服务提供商是:gmail

4 个答案:

答案 0 :(得分:0)

此部分:getEmail[getEmail.index('@'):getEmail.index('.')])不起作用,因为getEmail.index('@')大于getEmail.index('.')]getEmail.index('.')]返回FIRST索引“。” 您可以尝试这种方法:

getEmail = input("Write your email: ")

email, domain = getEmail.split('@')

print(email)
print("Your user name is: " + email)
print("Your Email service provider is: " + domain.split('.')[0])

使用print方法时,也不必使用+。您可以使用,print("Your user name is:", email)

答案 1 :(得分:0)

getEmail = input("Write your email: ")
email = getEmail.index('@')
print("Your user name is : " + getEmail[:email])
print("Your Email service provider is : " + getEmail[getEmail.index('@')+1:][:getEmail.index('.')-1])

输出:

写您的电子邮件:asfdsf.asd@gmail.com

您的用户名是:asfdsf.asd

您的电子邮件服务提供商是:gmail

答案 2 :(得分:0)

假设输入格式正确,则更简单的方法是

get_email = input("User email: ")
username, hostname = get_email.split('@')
provider = hostname.split('.')[0]

答案 3 :(得分:-1)

代码:

getEmail = input("Write your email: ")

email = getEmail.index('@')
provider = getEmail[email+1:]

print(getEmail[:email])
print("Your user name is : " + getEmail[:email])
print("Your Email service provider is : " + provider[:provider.index('.')])

输出:

Write your email: nick.fury@gmail.com
nick.fury
Your user name is : nick.fury
Your Email service provider is : gmail