Python: Count overlapping substring in a string

后端 未结 5 1283
情歌与酒
情歌与酒 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 10:00

    How about something like this?

    >>> d = {}
    >>> string = 'hannahannahskdjhannahannah'
    >>> for i in xrange(0,len(string)-len('hannah')+1):
    ...     if string[i:i+len('hannah')] == 'hannah':
    ...             d['hannah'] = d.get('hannah',0)+1
    ... 
    >>> d
    {'hannah': 4}
    >>> 
    

    This searches the string for hannah by splicing the string iteratively from index 0 all the way up to the length of the string minus the length of hannah

提交回复
热议问题