扫描滑动窗口,查找字符串中某些字母的组合。计算出现次数。蟒蛇

时间:2011-12-15 01:18:59

标签: python string count window

如果你有一个序列并且你创建了一个窗口大小为4的列表。在每个窗口中你都在寻找特定的安排。

#Example:
count=0
test='abcdaecdagcd'
windows=['abcd','bcda','cdae','daec','aecd','ecda','cdag','dagc','agcd']

我正在寻找一个特定的主题,即序列中的a- [b或e] - * - d,我想计算它出现的次数

所以' abcd'和' aecd'因为' a- [b或e] - (这个位置并不重要)-d'这将增加到计数2所以在函数经过之后它将是count = 2

1 个答案:

答案 0 :(得分:1)

字符串'a(b或e)* d'不能以字符串'a(b或e)* d'开头。因此,长字符串中存在的这种字符串不能重叠,然后正则表达式可用于查找所需内容:

import re

ss = 'abcdaecdagcd'

regx = re.compile('a[be].d')

print regx.findall(ss)
print len(regx.findall(ss))

结果

['abcd', 'aecd']
2