计算字符串出现的次数(Python3)

时间:2017-05-02 23:27:10

标签: string python-3.x count

我想计算字符串code出现在给定字符串中的任何位置的次数,除了字母d,所以cope和`cooe count。

count_code('aaacodebbb') → 1
count_code('copexxcozecode') → 3

我试着这样写:

def count_code(str):
    return str.count("code")

但是,我无法计算copecoze等等code。 如果详细解释,我们将非常感激。

1 个答案:

答案 0 :(得分:2)

我会使用正则表达式。该脚本看起来像这样。

import re

str = 'copexxcozecode'

matches = re.findall(r'(co[\S]e)', str)
print(matches) # ['cope', 'coze', 'code']

以下是代码的细分:

re.findall返回字符串中pattern的所有非重叠匹配,作为字符串列表。这意味着只需拨打len(matches)即可轻松计算。

r'(co[\S]e)'表示给定的str字符串将根据字母co的模式匹配+字符串字符的一个实例(技术上是非空白字符)+字母{ {1}}