返回字符串中数字位数的函数

时间:2015-02-28 07:40:41

标签: python-2.7

定义一个名为count_digits的Python函数,它接收一个字符串作为参数,并返回字符串中的位数。

作为示例,以下代码片段: print count_digits(“ab1c2d34”) 应该产生输出: 4

3 个答案:

答案 0 :(得分:3)

def count_digits(s):
    count = 0
    for c in s:
        if c.isdigit():
            count += 1
    return count

答案 1 :(得分:1)

使用regular expressions

import re

s = 'ab1c2d34'    
count = len(re.findall(r'\d', s))

print(count)

答案 2 :(得分:0)

>>> def count_digits(s):
        return len(filter(lambda c: c.isdigit(), s))

>>> count_digits("ab1c2d34")
4

要在Python 3中使用此解决方案,您必须在过滤器函数周围添加对list的调用,因为过滤器在Python 3中返回一个迭代器。list(filter(...))