python - 从字符串中提取字母(和特定数字)
问题描述
我有一个类似于下面的字符串列表:
l = ['ad2g3f234','4jafg32','fg23g523']
对于 中的每个字符串l
,我想删除每个数字(如果它们显示为2
,则除外)。所以在这种情况下,我想要以下结果:3
23
n = ['adgf23','jafg','fg23g23']
我该怎么做?我试过re.findall
像:
w = [re.findall(r'[a-zA-Z]+',t) for t in l]
但它并没有给出我想要的结果。
解决方案
一种方法是替换字符串两次:
[re.sub("\d", "", i.replace("23", "*")).replace("*", "23") for i in l]
输出:
['adgf23', 'jafg', 'fg23g23']
推荐阅读
- json - jq 有管道错误。没有管道不会出错
- python - 如何将一串 URL 查询参数解析为 pandas Dataframe 的多列?
- ios - TableView单元格内的TableView,自动调整单元格高度
- swift - 无法连接到 swift-socket-client
- linux - boot.scr 在 buildroot 中重建
- node.js - 如何在 NestJS 中使用多语言电子邮件模板?
- math - 从整数列表中找到所有数字对的最有效方法是什么,这些数字加起来是一个单独的给定整数?
- ios - Swift5 'withUnsafeBytes' 已弃用
- android - 如何在颤动中将字节数组转换为.csv文件
- nginx - nginx入口没有控制器服务