小编典典

Python字符串计数不能正常工作?

python

在“ ababa”中有两次“ aba”出现(第0个索引和第2个索引):

myString = 'ababa'
print(myString.count('aba'))

但是这段代码的输出值为:1
我知道这个问题似乎很简单,但是答案不应该是2吗?
如果不是,那么count函数不是真的没有按照预期去做吗?

有没有简单的选择?


阅读 197

收藏
2021-01-20

共1个答案

小编典典

来自Python字符串函数文档

返回范围为[start,end]的子字符串sub 不重叠的次数 。可选参数start和end解释为切片表示法。

count 不计算重复出现的次数。

如果要计算重叠出现的次数,可以将正则表达式与前瞻性断言一起使用:

import re
print(len(re.findall('(?=aba)', 'ababa')))
2021-01-20