【发布时间】:2021-01-11 04:27:06
【问题描述】:
对于这段代码,
f='ana'
g='banana'
print(g.count(f))
为什么它给出 1 作为输出而不是 2。他们在我的代码中是否有任何错误。也有人可以建议任何替代方法。
【问题讨论】:
-
documentation for
count表示它返回“字符串 s[start:end] 中子字符串 sub 的(非重叠)出现次数。” -
更好的 Python 3 链接 documentation;仍然说不重叠。
-
@DavidConrad 感谢您为我解惑。也是他们计算“重叠”事件的任何方法。
-
我不知道标准方法,但您可以自己编写。搜索第一个匹配项,然后从其后的一个字符开始再次搜索,依此类推。内置方法只发现不重叠的原因是,当它搜索出现时,它会向前跳到完整匹配之后再次搜索,而不是在再次搜索下一个匹配时只前进一个字符。
标签: python-3.x string count substring