Python:计算字符串中的重叠子字符串

iam*_*ake 3 python pycharm python-2.7

说我有string = 'hannahannahskdjhannahannah',我想计算字符串hannah出现的次数,我不能简单地使用count,因为在每种情况下只计算子字符串一次.

IE浏览器.

我期待返回,4但只有2当我在pyCharm中运行时返回string.count('hannah')

Ric*_*kyA 8

您可以使用运行索引来获取下一个出现:

bla = 'hannahannahskdjhannahannah'
cnt = 0
idx = 0
while True:
    idx = bla.find('hannah', idx)
    if idx >= 0:
        cnt += 1
        idx += 1
    else:
        break
print(cnt)
Run Code Online (Sandbox Code Playgroud)

得到:

>> 4
Run Code Online (Sandbox Code Playgroud)

  • 从来没听说过.只是常识. (2认同)