String.count()如何工作?

时间:2017-02-21 13:33:17

标签: python

我是python和学习的新手。在字符串上使用时,给定here { "Message": "Authorization has been denied for this request." } 方法会给出字符串中子字符串的出现次数。

所以当我这样做时:

count()

预期输出应为2,因为'ANA'在'BANANA'中出现两次,但'BANANA'.count('ANA')返回1.

有人可以解释一下,或者我可能误解了一些东西。

请指出正确的方向。

2 个答案:

答案 0 :(得分:9)

>>> help(str.count)
Help on method_descriptor:

count(...)
    S.count(sub[, start[, end]]) -> int

    Return the number of non-overlapping occurrences of substring sub in
    string S[start:end].  Optional arguments start and end are
    interpreted as in slice notation.

请注意不重叠

答案 1 :(得分:6)

您可以使用正则表达式来查找它。使用模块 re 中的 findall 功能查找重叠事件

import re
len(re.findall('(?=ANA)', 'BANANA'))

产生2。

或者收率3:

import re
len(re.findall('(?=ANA)', 'BANANAANA'))