如何使用字符串索引在python中提取@左边的所有内容?

时间:2013-11-02 18:41:06

标签: python string

尝试输入用户的电子邮件地址并在其地址中打印出网站。

email=input('What is your email address?')
website=email[40:]


print(website)

5 个答案:

答案 0 :(得分:4)

user, at, domain = email.partition("@")

现在user是用户名,at是@符号,domain是域名。

如果没有@符号,则atdomain将为空字符串。您可以对此进行测试并将domain更改为默认值:

at, domain = at or "@", domain or "gmail.com"

或者只是发出错误信息。

答案 1 :(得分:1)

@标志上拆分一次并取最后一个元素:

website = email.split('@', 1)[-1]

即使输入字符串中没有@符号,也可以这样做。

答案 2 :(得分:0)

我认为这最有效:

out=email.split('@')
try:
    print(out[1])
except IndexError:
    print('Invalid email address!')

答案 3 :(得分:0)

如果地址格式错误,这将会爆炸:server = email.split('@')[1]。使用rescue捕获异常,并将错误报告给用户。

它不是“网站”,而是“服务器”。网站只是您可以放在服务器上的众多服务之一。

答案 4 :(得分:0)

>>> email=input('What is your email address?')
What is your email address?me@somewhere.com
>>> i = email.index("@")
>>> i
2
>>> email[i+1:]
'somewhere.com'
>>> email.split("@")[1]
'somewhere.com'
>>> email.partition("@")[-1]
'somewhere.com'