我想计算一个长字符串包含多少个子字符串,如何在python中完成?
"12212"
包含2x "12"
如何获取计数?
必须允许重叠子串;例如,“1111”包含3个"11"
子串。
"12121"
包含2个"121"
子字符串。
"1111".count("11")
将返回2.它不计算任何重叠。
答案 0 :(得分:3)
字符串有方法计数
你可以做到
s = '12212'
s.count('12') # this equals 2
针对不断变化的问题进行编辑,以下答案由tobias_k发表评论
要计算重叠,
count_all = lambda string, sub: sum(string[i:i+len(sub)] == sub for i in range(len(string) - len(sub) + 1))
可以使用
调用count_all('1111', '11') # this returns 3