首页 > 解决方案 > 从字符串中提取字母(和特定数字)

问题描述

我有一个类似于下面的字符串列表:

l = ['ad2g3f234','4jafg32','fg23g523']

对于 中的每个字符串l,我想删除每个数字(如果它们显示为2,则除外)。所以在这种情况下,我想要以下结果:323

n = ['adgf23','jafg','fg23g23']

我该怎么做?我试过re.findall像:

w = [re.findall(r'[a-zA-Z]+',t) for t in l]

但它并没有给出我想要的结果。

标签: pythonregexstring

解决方案


一种方法是替换字符串两次:

[re.sub("\d", "", i.replace("23", "*")).replace("*", "23") for i in l]

输出:

['adgf23', 'jafg', 'fg23g23']

推荐阅读