【发布时间】:2021-11-12 18:24:58
【问题描述】:
我有一些字符串,其中一些是乱码,是数字和字母的混合体。乱码,我想删除,但那些有模式的,我想保留。
我提供一个示例用于说明目的。
strings = ["1Z83E0590391137855",
"55t5555t5t5tttt5t5555tttttttgggggggggggggggsss",
"1st", "2nd", "3rd", "4th", "5th"
]
import pandas as pd
df = pd.DataFrame(strings, columns=['strs'])
df
我想删除看起来像的字符串
1Z83E0590391137855
55t5555t5t5tttt5t5555tttttttgggggggsss
并保留如下所示的字符串
1st
2nd
3rd
4th
5th
鉴于我有限的正则表达式和 python 经验,我很难想出正确的公式。我已经尝试过,除了第一行之外,已经删除了所有内容:
df['strs'] = df['strs'].str.replace(r'(?=.*[a-z])(?=.*[\d])[a-z\d]+', '', regex=True)
【问题讨论】:
标签: python-3.x regex pandas