【问题标题】:How do you slice part of an input statement in Python 3?如何在 Python 3 中对输入语句的一部分进行切片?
【发布时间】:2014-12-28 12:10:23
【问题描述】:

我有一个问题要求我获取用户的电子邮件地址,然后返回与之关联的 URL。所以,例如:'abc123@address.com' --> 'http:://www.address.com'

我确实得到了这个:

def main():
    email_address = input('Enter your email address (eg. abc123@address.com): ').strip()
    strip_username = email_address.split('@', 1)[-1]
    the_url(strip_username) 

def the_url(url_ending):
    print('Your associated URL is: http://www.' + str(url_ending))

main()

它可以满足我的要求,但是这段代码: split('@'...) 是我还没有学过的东西。我只是在网上找到的。我需要对这个程序使用索引和拼接,但是如果我不知道用户电子邮件的长度,我该如何使用拼接呢?我需要删除之前的所有内容,包括“@”符号,这样它就可以只留下“address.com”,但我不知道它会是什么地址。它可能是 hotmail、gmail 等。谢谢,我对 Python 很陌生,所以我试图只使用我迄今为止在课堂上学到的东西。

【问题讨论】:

  • @Jamine K,你为什么不使用str.index。您将获得@ 的索引,然后您可以使用像[str.index('@')+1:] 这样的切片。

标签: python indexing slice


【解决方案1】:

split 方法只是根据你给它的字符拆分字符串,所以:

"Hello@cat".split("@")

会给你

["Hello", "cat"]

然后你可以只取该数组的第一个索引来为你提供第一个 @ 符号之后的任何内容。

【讨论】:

    【解决方案2】:

    如果您不想使用str.split,那么通过索引和切片, 你可以做这样的事情。

    >>> str = 'abc123@address.com'
    >>> 'http://www.' + str[str.index('@')+1:]
    'http://www.address.com'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多