Python:计算字符串中重叠的子字符串 [英] Python: Count overlapping substring in a string

查看:103
本文介绍了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:计算字符串中重叠的子字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆