我希望计数字符串code在给定字符串中的任何位置出现的次数,但字母d除外,因此cope和‘for计数。
count_code('aaacodebbb') → 1
count_code('copexxcozecode') → 3我试着写成这样:
def count_code(str):
return str.count("code")但是,我无法将cope或coze等计算为code。如果能详细解释的话,我们将不胜感激。
发布于 2017-05-02 23:50:48
我会用regex。剧本应该是这样的。
import re
str = 'copexxcozecode'
matches = re.findall(r'(co[\S]e)', str)
print(matches) # ['cope', 'coze', 'code']下面是代码的细目:
re.findall返回字符串中所有不重叠的模式匹配,作为字符串列表。这意味着只需调用len(matches)就可以很容易地计数。
r'(co[\S]e)'意味着给定的str字符串将基于字母co +字符串字符的一个实例(技术上是一个非空格字符)+字母se的模式进行匹配。
https://stackoverflow.com/questions/43748770
复制相似问题