我想计算字符串code
出现在给定字符串中的任何位置的次数,除了字母d
,所以cope
和`cooe count。
count_code('aaacodebbb') → 1
count_code('copexxcozecode') → 3
我试着这样写:
def count_code(str):
return str.count("code")
但是,我无法计算cope
或coze
等等code
。
如果详细解释,我们将非常感激。
答案 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}}