本文介绍了Python:计算字符串中重叠的子字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有 string = 'hannahannahskdjhannahannah'
并且我想计算字符串 hannah
出现的次数,我不能简单地使用计数,因为那只是在每种情况下对子字符串计数一次.
Say I have string = 'hannahannahskdjhannahannah'
and I want to count the number of times the string hannah
occurs, I can't simply use count, because that only counts the substring once in each case.
即.
我期望返回 4
但当我在 pyCharm 中使用 string.count('hannah')
运行它时只返回 2
I am expecting to return 4
but only returns 2
when I run this in pyCharm with string.count('hannah')
推荐答案
您可以使用运行索引来获取下一次出现:
You could use a running index to fetch the next occurance:
bla = 'hannahannahskdjhannahannah'
cnt = 0
idx = 0
while True:
idx = bla.find('hannah', idx)
if idx >= 0:
cnt += 1
idx += 1
else:
break
print(cnt)
给出:
>> 4
这篇关于Python:计算字符串中重叠的子字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!