我们有多种方法可以实现这一目标。我们可以使用for ... if语句过滤掉非数字字符。例如:
>>> s = "H3ll0 P30P13" >>> ''.join(i for i in s if i.isdigit()) '303013'
我们还可以使用filter和lambda函数过滤掉字符。例如:
>>> s = "H3ll0 P30P13" >>> filter(lambda x: x.isdigit(), s) '303013'
尽管对于这样一个简单的任务来说过于夸张,但是我们也可以使用正则表达式来实现相同的目的。\ D字符(非数字)可以替换为空字符串。例如:
>>> import re >>> s = "H3ll0 P30P13" >>> re.sub("\D", "", s) '303013'