Python: Count overlapping substring in a string

后端 未结 5 1277
情歌与酒
情歌与酒 2020-12-11 09:36

Say I have string = \'hannahannahskdjhannahannah\' and I want to count the number of times the string hannah occurs, I can\'t simply use count, bec

5条回答
  •  春和景丽
    2020-12-11 09:57

    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)
    

    Gives:

    >> 4
    

提交回复
热议问题