2.8k views
5 votes
Suppose the count function for a string didn’t exist. Define a function that returns the number of non-overlapping occurrences of a substring in a string.

User Minh Kha
by
4.1k points

1 Answer

5 votes

Answer:

I am writing a Python program:

import re

def NonOverlapping():

string = input("Enter a string: ")

substring = input("Enter a substring to find its non-overlapping occurances in " + string +": ")

occurrences=len(re.findall(substring,string))

return occurrences

print("The number of non-overlapping occurrences: " , NonOverlapping())

Step-by-step explanation:

I will explain the program line by line.

import re this is the module for performing regular expressions matching operations in Python.

def NonOverlapping(): this is the function definition. The function name is NonOverlapping and this function returns the number of non-overlapping occurrences of a substring in a string.

string = input("Enter a string: ")

substring = input("Enter a substring to find its non-overlapping occurances in " + string +": ")

The above two statement ares used to take input from the user. First the user is prompted to enter a string and the string is stored in string variable. Next user is asked to input the substring and its stored in susbtring variable.

occurrences=len(re.findall(substring,string)) This is the main line of the function. It has two methods i.e. len() and re.findall().

The re.findall() method returns all non-overlapping matches of substring in string. The string is checked for the given substring from left to right and all the non-overlapping occurrences of the substring are found and a list of matches is returned. len() method is used to return the length of the string but here it is used to count the number of non-overlapping occurrences substring in a string which are returned by re.findall() method. The whole result of these two methods is stored in occurrences.

return occurrences This statement returns the number of non-overlapping occurrences of a substring in a string computed in the above statement.

print("The number of non-overlapping occurrences: " , NonOverlapping())

This statement displays the result by calling NonOveralling() method.

Suppose the count function for a string didn’t exist. Define a function that returns-example-1
User Nick Barrett
by
3.7k points