String count with overlapping occurrences
python, search, string
Solution
Well, this might be faster since it does the comparing in C:
def occurrences(string, sub):
count = start = 0
while True:
start = string.find(sub, start) + 1
if start > 0:
count+=1
else:
return count
Problem
What's the best way to count the number of occurrences of a given string, including overlap in Python? This is one way: ``` def function(string, str_to_search_for): count = 0 for x in xrange(len(string) - len(str_to_search_for) + 1): if string[x:x+len(str_to_search_for)] == str_to_search_for: count += 1 return count function('1011101111','11') ``` This method returns 5. Is there a better way in Python?