python-3.x - 如何删除并仅保留某些非字母数字字符?
问题描述
我的 df 看起来像这样:
email id
{'email': ['test@test.com']} {'id': ['123abc_d456_789_fgh']}
当我像这样删除非字母数字字符时:
df.email = df.email.str.replace('[^a-zA-Z]', '')
df.email = df.email.str.replace('email', '')
df.id = df.id.str.replace('[^a-zA-Z]', '')
df.id = df.id.str.replace('id', '')
列如下所示:
email id
testtestcom 123abcd456789fgh
如何告诉代码不要在方括号中删除任何内容,而是将所有非字母数字字符放在方括号外?
新的 df 应该是这样的:
email id
test@test.com 123abc_d456_789_fgh
解决方案
这是硬编码的,但有效:
df.email = df.email.str.replace(".+\['|'].+", '')
df.id = df.id.str.replace(".+\['|'].+", '')
>>> 'test@test.com'
>>> '123abc_d456_789_fgh'
推荐阅读
- nfc - NFC会员卡提交后会发生什么?
- mysql - “LIKE %%”是否与“LIKE %”相同?
- android - 带有裸 React-Native 的 Expo Video,不适用于 Android 5.1 及更低版本
- javascript - 有没有办法使用循环在 JS 警报框中打印多行?
- django - Google App Engine:部署前端和后端配置(Nuxt + Django)
- go - 有没有办法将 protobuf 数字字段限制在一定范围内?
- java - 当scrollIntoView文本对象通过变量传递时,如何在Appium中使用UiScrollable函数?
- format - 未知 GPS 格式
- express - 如何通过删除 % 使我的 URL seo 友好?
- azure-devops - Azure DevOps Release - 如何替换 helm 图表 values.yaml 文件中的变量?