从邮箱提取并反转用户名:脚本输出不符合预期求助
解决方法
你的问题出在仅替换了分隔符,但未调整两部分内容的顺序。要得到预期的"ACER,ONE",需要先把邮箱前缀按.分割成两个部分,反转它们的顺序后再用逗号连接,最后转大写。
修改后的代码如下:
email='one.acer@mymail.com' index = email.index("@") email_id = email[:index] # 按点分割成两部分,反转顺序后用逗号连接,再转大写 parts = email_id.split('.') result = ','.join(reversed(parts)).upper() print(result) # > ACER,ONE
也可以用更简洁的写法:
email='one.acer@mymail.com' result = ','.join(reversed(email.split('@')[0].split('.'))).upper() print(result)
代码说明
email.split('@')[0]:提取@符号前的邮箱前缀(即one.acer)split('.'):将前缀按.分割为列表['one', 'acer']reversed(parts):反转列表顺序,得到['acer', 'one']','.join(...):用逗号把反转后的列表元素拼接成字符串.upper():将最终字符串转为大写,得到ACER,ONE
内容的提问来源于stack exchange,提问作者ndc
相关产品推荐
相关产品推荐

