Files

23 lines
548 B
Python

def how_many_times(string: str, substring: str) -> int:
""" Find how many times a given substring can be found in the original string. Count overlaping cases.
>>> how_many_times('', 'a')
0
>>> how_many_times('aaa', 'a')
3
>>> how_many_times('aaaa', 'aa')
3
"""
if not substring or not string:
return 0
count = 0
start = 0
while True:
pos = string.find(substring, start)
if pos == -1:
break
count += 1
start = pos + 1
return count