织梦CMS - 轻松建站从此开始!

欧博ABG官网-欧博官方网址-会员登入

欧博allbetCount the Number of Occurrences of a given

时间:2025-08-23 11:17来源: 作者:admin 点击: 9 次
In this article, we learned to count the occurrences of a substring in a given string in Python by using several methods.

Count the Number of Occurrences of a given Substring in a String

PUBLISHED ON: FEBRUARY 15, 2021

Count the Number of Occurrences of a given Substring in a String

In this article, we will learn how to count the occurrences of a substring in a string in Python. We will discuss codes having built-in functions, without built-in functions. Let's first have a quick look over what is a string in Python.

Python String

The String is a type in python language just like integer, float, boolean, etc. Data surrounded by single quotes or double quotes are said to be a string. A string is also known as a sequence of characters.

string1 = "apple" string2 = "Preeti125" string3 = "12345" string4 = "pre@12"

In Python, we can count the occurrences of a substring from a given string using three different methods. The mentioned codes will return the count of how many times a substring is present in a string.

For Example,

Example: Count the Occurrences of Substring using Pattern Searching Algorithm

This is a simplesolution to match characters of a substring one by one and we increment the counter by 1 when we get the complete match for the substring. This program is generally helpful for those who are looking for an algorithm without the use of any built-in functions.

Time Complexity: O(M*N)

def count(sub, s): M = len(sub) N = len(s) res = 0 # A loop to slide sub[] one by one for i in range(N - M + 1): # For current index i, check for the match j = 0 while(j < M): if (s[i + j] != sub[j]): break j += 1 if (j == M): res += 1 j = 0 return res # Driver Code string = "abracadabra" substring = "bra" print("Count:", count(substring, string))


Count: 2

Example: Count the Occurrences of Substring using KMP Algorithm

This solution is based on KMP(Knuth Morris Pratt) algorithm. The basic idea behind this algorithm is that it detects the mismatched pattern or substring instead of the matched pattern. lps[] array is used to skip the characters while matching. The following is a self-explanatory code. We will look into this algorithm in detail in another article.

Time Complexity: O(M+N)

def count(sub, s): M = len(sub) N = len(s) # Create lps[] that will hold the longest prefix suffix values for subtern lps = [None] * M j = 0 # index for sub[] # Preprocess the substring (calculate lps[] array) lps_Array(sub, M, lps) i = 0 # index for s[] res = 0 next_i = 0 while (i < N): if sub[j] == s[i]: j = j + 1 i = i + 1 if j == M: # When we find substring first time, we iterate again to check if there exists more substring j = lps[j - 1] res = res + 1 # We start i to check for more than once appearance of substring, we will reset i to previous start+1 if lps[j] != 0: next_i = next_i + 1 i = next_i j = 0 # Mismatch after j matches elif ((i < N) and (sub[j] != s[i])): # Do not match lps[0..lps[j-1]] characters, they will match anyway if (j != 0): j = lps[j - 1] else: i = i + 1 return res def lps_Array(sub, M, lps): # Length of the previous longest prefix suffix len = 0 i = 1 lps[0] = 0 # lps[0] is always 0 # The loop calculates lps[i] for i = 1 to M-1 while (i < M): if sub[i] == sub[len]: len = len + 1 lps[i] = len i = i + 1 else: # (sub[i] != sub[len]) # search the step if len != 0: len = lps[len - 1] else: # if (len == 0) lps[i] = len i = i + 1 # Driver code string = "abracadabra" substring = "bra" print("Count:", count(substring, string))


Count: 2

Example: Count the Occurrences of Substring using count() Function

In this example, we use built-in count() function to count the occurrences of the substring in the given string. It takes substring as an argument. Also, you can provide substring, start and stop arguments to find a substring within a range.

Time Complexity: O(n)

string = "abracadabra" substring = "bra" ct = string.count(substring) print("Count:",ct)


Count: 2

Conclusion

In this article, we learned to count the occurrences of a substring in a given string in Python by using several methods. We used some simple algorithms like pattern searching without any built-in function, KMP algorithm, and count() function to count the occurrences. We discussed that all these methods along with their time complexities.

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-08-29 20:08 最后登录:2025-08-29 20:08
栏目列表
推荐内容