我如何才能将以下邮箱选项解析为预期的输出.它们不在数据帧中,它们是单独的字符串.我有一个循环,它循环通过每个字符串.

示例输入

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

预期输出:

Louis Stevens
Louis Stevens
Louis Stevens
Louis Stevens
Mike Williams
Lebron James

谢谢

推荐答案

假设输入序列为s,并使用str.replace:

import re

s.str.replace(r'^([a-z]+)\.(?:.\.)?([a-z]+).*', r'\1 \2', regex=True, flags=re.I)

输出:


0    Louis Stevens
1    Louis Stevens
2    Louis Stevens
3    Louis Stevens
4    Mike Williams
5     Lebron James
dtype: object

对于单个字符串:

import re

s = 'Louis.a.Stevens2@hotmail.com'

out = re.sub(r'^([a-z]+)\.(?:.\.)?([a-z]+).*', r'\1 \2', s, flags=re.I)

Python相关问答推荐

numba jitClass,记录类型为字符串

重新匹配{ }中包含的文本,其中文本可能包含{{var}

ModuleNotFound错误:没有名为Crypto Windows 11、Python 3.11.6的模块

Pytest两个具有无限循环和await命令的Deliverc函数

如何删除索引过go 的lexsort深度可能会影响性能?' &>

查找两极rame中组之间的所有差异

PyQt5,如何使每个对象的 colored颜色 不同?'

部分视图的DataFrame

如何在Python中找到线性依赖mod 2

Python Pandas获取层次路径直到顶层管理

Polars asof在下一个可用日期加入

交替字符串位置的正则表达式

Polars Group by描述扩展

Python类型提示:对于一个可以迭代的变量,我应该使用什么?

如何在Python中将超链接添加到PDF中每个页面的顶部?

将相应的值从第2列合并到第1列(Pandas )

在一个数据帧中,我如何才能发现每个行号是否出现在一列列表中?

FileNotFoundError:[WinError 2]系统找不到指定的文件:在os.listdir中查找扩展名

大Pandas 中的群体交叉融合

运行从Airflow包导入的python文件,需要airflow实例?