非DataFrame场景下,如何循环解析独立邮箱字符串为指定姓名格式?
邮箱姓名提取方案
针对逐个处理独立邮箱字符串、提取指定格式姓名的需求,我们可以用Python实现一个简单的处理逻辑,步骤如下:
- 将邮箱按
@拆分,只保留@前的本地用户名部分 - 移除用户名末尾的数字(比如
Stevens2处理为Stevens) - 把用户名按
.拆分,只取首尾两段(自动忽略中间的中间名,比如Louis.a.Stevens里的a) - 将首尾两段用空格拼接成最终姓名
代码实现
import re def extract_name(email): # 提取@前的用户名部分,同时去除首尾空格 local_part = email.split('@')[0].strip() # 移除用户名末尾的所有数字 local_part_no_num = re.sub(r'\d+$', '', local_part) # 按点分割用户名 name_segments = local_part_no_num.split('.') # 拼接首尾段为姓名 return f"{name_segments[0]} {name_segments[-1]}" # 示例输入的邮箱列表 email_list = [ "Louis.Stevens@hotmail.com", "Louis.a.Stevens@hotmail.com", "Louis.Stevens@stackoverflow.com", "Louis.Stevens2@hotmail.com", "Mike.Williams2@hotmail.com", "Lebron.A.James@hotmail.com" ] # 循环处理每个邮箱并输出结果 for email in email_list: print(extract_name(email))
运行结果
Louis Stevens Louis Stevens Louis Stevens Louis Stevens Mike Williams Lebron James
内容的提问来源于stack exchange,提问作者Jonnyboi
相关产品推荐
相关产品推荐

