计算字符串中子字符串的所有非重叠出现次数[重复]

Posted

技术标签:

【中文标题】计算字符串中子字符串的所有非重叠出现次数[重复]【英文标题】:Count All Non-Overlapping Occurences of a Substring in a String [duplicate] 【发布时间】:2020-06-02 11:27:23 【问题描述】:

我想编写一个函数来计算字符串中子字符串的所有非重叠出现。这是我目前所拥有的:

def count(substr,theStr):
    count = 0
    for i in range(len(theStr)):
        if theStr[i:i+len(substr)] == substr:           
            count = count + 1
    return count

如您所见,我的函数只计算字符串的出现次数,而不是 非重叠 出现次数。例如,输入“ana”和“Banana”将产生 2,即使“Banana”中只有一个“ana”的非重叠实例。如何扩展我的功能以使其正常工作?

【问题讨论】:

这能回答你的问题吗? Count the number occurrences of a character in a string @Moritz,修复了代码中的错误。更新了我的答案。请检查我的答案 @Hippolippo - 不,正如我在问题中所说,我想修改我提供的功能。我不想使用其他内置方法或函数。 【参考方案1】:

Python 有一个内置函数:

theStr.count(substr)

PS: 也许你想看看Python Style-Guide

【讨论】:

我一定会去看看的。我的代码的哪一部分让您认为我应该查看样式指南? @Moritz Wolff 在代码中命名参数和变量的方式。而不是substr 它将是sub_strtheStr 将是the_str...可能想看一下正如编辑历史显示的那样,您倾向于使用tab 而不是多个空格...这可能导致格式错误 感谢您的提示 - 但回到原来的帖子,我试图不使用内置函数或方法,而是扩展我已经构建的函数。

以上是关于计算字符串中子字符串的所有非重叠出现次数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

计算字符串中子串出现的次数。

C语言课程设计题目计算字符串中子串出现的次数

计算字符串中子字符串出现的次数

急求。。。C语言实现,计算字符串中子串出现的次数,比如输入GACTC,要求输出GA,AC,CT,TC出现的次数

计算 pyspark df 列中子字符串列表的出现次数

C语言试题159之计算字符串中子串出现的次数