在Python中获取字符串的数字前缀的最干净方法是什么?
“干净”是指简单,简短,易读。我不太在乎性能,我想无论如何它在Python中几乎无法测量。
例如:
给定字符串'123abc456def'
,获取字符串的最干净方法是什么'123'
?
下面的代码获得'123456'
:
input = '123abc456def'
output = ''.join(c for c in input if c in '0123456789')
所以我基本上是在寻找一些方法来代替if
用while
。
您可以使用itertools.takewhile
它将在字符串(可迭代的参数)上迭代直到遇到第一个返回的项目False
(通过传递给预测变量):
>>> from itertools import takewhile
>>> input = '123abc456def'
>>> ''.join(takewhile(str.isdigit, input))
'123'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句