我需要计算一个字符串中出现多少个句点(点)。
例如:
str="hellow.my.word."
代码应返回3.
我尝试使用以下函数,但它返回字符串的长度。
num=str.count('.')
这样做的正确方法是什么?
答案 0 :(得分:2)
使用str(str is built-in).
其次:
string = "hellow.my.word."
num=string.count('.') # num=3 ...THIS WORKS
答案 1 :(得分:1)
使用for comprehension迭代字符串:
另外,不要将str
用作变量名,它是python中的内置函数。
string="hellow.my.word."
sum([char == '.' for char in string]) # Returns 3
修改强>
关于@ niemmi的评论,显然可以使用string.count('symbol')
:
string.count('.') # returns 3
文档:https://docs.python.org/2/library/string.html#string.count
答案 2 :(得分:1)
一种可能的解决方案是过滤掉.
以外的其他字符,并测量结果列表的长度:
len([1 for c in string if c == '.'])