【问题标题】:Removing email domains from addresses in Python [duplicate]从 Python 中的地址中删除电子邮件域 [重复]
【发布时间】:2019-03-22 23:40:51
【问题描述】:

寻找一种在初始用户提示后删除电子邮件地址“@domain”的好方法。

prompt = input("Enter the email address of the user: ")

所有域都是相同的,所以我不需要担心子域或任何其他奇怪的问题。

输入:john.doe@generic.com 输出:john.doe

我希望输出进入另一个变量,以便在 Linux 服务器上的一系列 bash 命令中使用。

【问题讨论】:

  • 所有发布的都是程序描述。但是,我们需要您根据How to Ask 页面提出问题。我们无法确定您想从我们这里得到什么。请edit您的帖子包含一个我们可以回答的有效问题。提醒:通过访问help center,确保您知道这里的主题是什么;要求我们为您编写程序、建议和外部链接都是题外话。
  • 说真的——你可以使用split("@")——你可以逐个迭代直到找到"@"——你可以使用str.find("@")来获取索引并使用字符串切片,你可以使用regex ,你可以使用str.partition ...但你没有找到no的方法来解决它?
  • 嘿阿兰,谢谢!我对 Python 和一般的脚本完全陌生。不确定我对其他线程中的所有其他建议做错了什么,但我遇到了错误。你的建议很简单:)问题解决了。

标签: python email


【解决方案1】:

你可以简单地使用:

prompt.split("@")[0]

【讨论】:

    【解决方案2】:

    正则表达式呢?

    import re
    
    def extract_user(address):
        result = re.search(r'([\w\d\.]+)@[\w\d\.]+', address)
    
        if result and address.count('@') == 1:
            return result.group(1)
    
        else:
            raise ValueError(f'{address} is not a validly formatted e-mail address.')
    
    extract_user('john.doe@generic.com')
    

    输出:

    'john.doe'
    

    【讨论】:

      猜你喜欢
      • 2019-12-17
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 2011-08-26
      • 2013-02-07
      • 1970-01-01
      • 2021-08-29
      • 2015-05-02
      相关资源
      最近更新 更多