【问题标题】:Is str.count() wrong? [duplicate]str.count() 错了吗? [复制]
【发布时间】:2018-11-01 15:20:38
【问题描述】:

我很享受一些挑战,其中一个让我计算字符串中的子字符串。我对“香蕉”有一个特别的问题:

str = "banana"
print(str.count("ana"))

这应该返回 2,因为 "ana" 出现了两次:

b a n a n a
  a n a
      a n a

但是 str.count("ana") 只返回 1。我也尝试过使用正则表达式:

import re
str = "banana"
print(len(re.findall("ana", str)))

但它也返回 1。我错过了什么吗?

谢谢!

【问题讨论】:

  • 正如文档所说,str.count 计算子字符串的 非重叠 次。
  • 顺便说一句,您不应该调用变量str 或任何其他内置类型/函数。
  • 您可以使用支持重叠模式匹配的正则表达式模块。 print(len(regex.findall("ana", str,overlapped=True)))

标签: python regex python-3.x count


【解决方案1】:
猜你喜欢
  • 2012-10-06
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-06
  • 1970-01-01
  • 2021-07-30
  • 2018-09-16
相关资源
最近更新 更多