gpt4 book ai didi

python - 从字符串中去除数字

转载 作者:IT老高 更新时间:2023-10-28 21:14:38 25 4
gpt4 key购买 nike

我们有一堆字符串,例如:c1309, IF1306, v1309, p1209, a1309, mo1309.
在 Python 中,去除数字的最佳方法是什么?我只需要:cIFvpamo 来自上面的例子。

最佳答案

你可以使用regex:

>>> import re
>>> strs = "c1309, IF1306, v1309, p1209, a1309, mo1309"
>>> re.sub(r'\d','',strs)
'c, IF, v, p, a, mo'

或更快的版本:

>>> re.sub(r'\d+','',strs)
'c, IF, v, p, a, mo'

timeit比较:

>>> strs = "c1309, IF1306, v1309, p1209, a1309, mo1309"*10**5

>>> %timeit re.sub(r'\d','',strs)
1 loops, best of 3: 1.23 s per loop

>>> %timeit re.sub(r'\d+','',strs)
1 loops, best of 3: 480 ms per loop

>>> %timeit ''.join([c for c in strs if not c.isdigit()])
1 loops, best of 3: 1.07 s per loop

#winner
>>> %timeit from string import digits;strs.translate(None, digits)
10 loops, best of 3: 20.4 ms per loop

关于python - 从字符串中去除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16849109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com