在“ ababa”中有两次“ aba”出现(第0个索引和第2个索引):
myString = 'ababa' print(myString.count('aba'))
但是这段代码的输出值为:1 我知道这个问题似乎很简单,但是答案不应该是2吗? 如果不是,那么count函数不是真的没有按照预期去做吗?
有没有简单的选择?
来自Python字符串函数文档
返回范围为[start,end]的子字符串sub 不重叠的次数 。可选参数start和end解释为切片表示法。
count 不计算重复出现的次数。
count
如果要计算重叠出现的次数,可以将正则表达式与前瞻性断言一起使用:
import re print(len(re.findall('(?=aba)', 'ababa')))