首页 > 解决方案 > 如何在字符串列表中找到数字的位置?

问题描述

 a = ['+321','+09e8','\sdf5234','6']

我想将其转换为所有数字的列表。换句话说,从列表中的所有字符串中删除所有非数字字符。结果应该是整数列表而不是字符串。

[321,98, 5234, 6]

任何帮助深表感谢!谢谢

标签: pythonstringpython-3.xlist

解决方案


您可以使用re.sub

In [1]: import re

In [2]: a = ['+321','+09e8','\sdf5234','6']

In [3]: [int(re.sub('[^0-9]','',x)) for x in a]
Out[3]: [321, 98, 5234, 6]

这里re.sub('[^0-9]','',x)将替换字符串中除数字(0-9)之外的所有字符。


推荐阅读