Hen*_*nco 3 python string count
我对一个非常简单的字符串计数操作感到困惑:
s = 'BANANA'
s.count('ANA')
Run Code Online (Sandbox Code Playgroud)
这应该会得到 2,对吗?由于子字符串 ,ANA在 中出现了 2 次BANANA。
但结果我得到了 1。
>>> s = 'BANANA'
>>> s.count('ANA')
1
Run Code Online (Sandbox Code Playgroud)
不知道为什么结果错误。就是这么简单的操作!
感谢任何帮助。
PS:我该如何解决这个问题?
string.count()不计算重叠出现的次数。
如果您想计算重叠出现的次数,可以对字符串进行简单的循环来计算:
s = 'BANANA'
i = 0
cnt = 0
while True:
i = s.find('ANA', i)
if i >= 0:
i += 1
cnt += 1
else:
break
Run Code Online (Sandbox Code Playgroud)
或者,您也可以使用regex下面 @Henrique's 答案中的内容。