如何用Python从邮箱地址中提取无空格的用户名?
解决邮箱提取无空格用户名问题
你的代码输出带空格的核心原因是print语句用逗号分隔内容时,Python会自动在输出值之间添加空格。要得到flast这类无空格的用户名,只需要把首字母和姓氏部分直接拼接即可,以下是几种实用修正方案:
方案1:直接拼接字符串
修改最后一行的输出逻辑,将两部分内容直接拼接,替代逗号分隔的方式:
email = "first.last@email.com" elist = email.split('@')[0].replace('.', ' ') name = elist.title() print(name) unamelist = elist.split(" ") # 直接拼接首字母与姓氏,去除空格 print(unamelist[0][0] + ''.join(unamelist[1]))
方案2:使用f-string格式化输出
用f-string更简洁地合并两部分内容:
email = "first.last@email.com" elist = email.split('@')[0].replace('.', ' ') name = elist.title() print(name) unamelist = elist.split(" ") # 通过f-string直接拼接无空格结果 print(f"{unamelist[0][0]}{unamelist[1]}")
方案3:简化提取逻辑(跳过空格替换步骤)
可以省略把点替换为空格的步骤,直接拆分邮箱前缀的点,逻辑更高效:
email = "first.last@email.com" prefix = email.split('@')[0] first_part, last_part = prefix.split('.') # 生成格式化全名 name = f"{first_part.title()} {last_part.title()}" print(name) # 生成无空格用户名 username = f"{first_part[0]}{last_part}" print(username)
以上三种方案都能输出无空格的目标用户名,你可以根据自己的代码习惯选择适配方式。
内容的提问来源于stack exchange,提问作者Alec S.
相关产品推荐
相关产品推荐

