Scanning a file
Bengt Richter
bokr at oz.net
Sat Oct 29 03:27:34 EDT 2005
On 28 Oct 2005 06:51:36 -0700, "pinkfloydhomer at gmail.com" <pinkfloydhomer at gmail.com> wrote:
>First of all, this isn't a text file, it is a binary file. Secondly,
>substrings can overlap. In the sequence 0010010 the substring 0010
>occurs twice.
>
ISTM you better let others know exactly what you mean by this, before
you use the various solutions suggested or your own ;-)
a) Are you talking about bit strings or byte strings?
b) Do you want to _count_ overlapping substrings??!!
Note result of s.count on your example:
>>> s = '0010010'
>>> s.count('0010')
1
vs. brute force counting overlapped substrings (not tested beyond what you see ;-)
>>> def ovcount(s, sub):
... start = count = 0
... while True:
... start = s.find(sub, start) + 1
... if start==0: break
... count += 1
... return count
...
>>> ovcount(s, '0010')
2
Regards,
Bengt Richter
More information about the Python-list
mailing list