我混淆了一个非常简单的字符串计数操作:
s = 'BANANA'
s.count('ANA')这应该会导致2,对吧?由于子字符串,ANA在BANANA中出现了2次。
但结果是我得到了一个。
>>> s = 'BANANA'
>>> s.count('ANA')
1不知道为什么结果不对。这是如此简单的操作!
感谢你的帮助。
PS:如何解决这个问题?
发布于 2020-04-21 23:27:58
string.count()不计算重叠出现的次数。
如果要计数重叠事件,则字符串上的一个简单循环将对其进行计数:
s = 'BANANA'
i = 0
cnt = 0
while True:
i = s.find('ANA', i)
if i >= 0:
i += 1
cnt += 1
else:
break或者,您也可以使用regex,如下面@Henrique的答案中所示。
发布于 2020-04-21 23:27:22
发布于 2020-04-21 23:29:26
在“香蕉”中,只有一个完整的“ANA”。Count()返回1,因为在找到'ANA‘之后,只剩下'NA’。
https://stackoverflow.com/questions/61354839
复制相似问题