Given a string str and a word w, the task is to print the number of the occurrence of the given word in the string str using Regular Expression.
Examples:
Input: str = “peter parker picked a peck of pickled peppers”, w = “peck”
Output: 1
Explanation: There is only one occurrence of the word “peck” in the given string. Therefore, the output is 1.
Input: str = “How much wood would a woodchuck chuck if a woodchuck could chuck wood ?”, w = “wood”
Output: 2
Explanation: There are only two occurrences of the word “wood” in the given string.
Therefore, the output is 2.Input: str = “She sells seashells by the seashore”, w = “sea”
Output: 0
Explanation: There is no occurrence of the word “sea” in the given string. Therefore, the output is 0.
Approach: The required regular expression to find the required count of string w in the given string is “\\bw\\b”, where \b is a word boundary. Follow the steps to solve the problem
- Create the regular expression pattern for the word w
regex = “\\bw\\b”
- Traverse the string, match the regex with the string str using regex_iterator(). Simultaneously, update number of matches.
- Print the total number of matches obtained in the above step.
Below is the implementation of the above approach :
// C++ program for the above approach #include <iostream> #include <regex> using namespace std;
// Function to count total occurrences // of word "w" in string "str" void countOccurrences(string str, string w)
{ // Get the regex to be checked
string regexPattern = "\\b" + w + "\\b" ;
const regex pattern(regexPattern);
// Variable to count total
// occurrences of the given word
int count = 0;
auto it
= sregex_iterator(str.begin(), str.end(), pattern);
for (it; it != sregex_iterator(); it++) {
// Increment count
count++;
}
// Print the occurrences of the word
cout << count << endl;
return ;
} // Driver Code int main()
{ // Input
string str
= "peter parker picked a peck of pickled peppers" ;
string w = "peck" ;
countOccurrences(str, w);
return 0;
} |
// Java program for the above approach import java.util.*;
import java.util.regex.*;
class GFG {
// Function to count total occurrences
// of word "w" in String "str"
static void countOccurrences(String str, String w)
{
// Get the regex to be checked
String regexPattern = "\\b" + w + "\\b" ;
Pattern pattern = Pattern.compile(regexPattern);
// Variable to count total
// occurrences of the given word
int count = 0 ;
while (str.contains(w)) {
str = str.replace(w, "" );
// Increment count
count++;
}
// Print the occurrences of the word
System.out.print(count + "\n" );
return ;
}
// Driver Code
public static void main(String[] args)
{
// Input
String str = "peter parker picked a peck of pickled peppers" ;
String w = "peck" ;
countOccurrences(str, w);
}
} // This code is contributed by gauravrajput1 |
# Python program for the above approach import re
# Function to count total occurrences # of word "w" in String "str" def countOccurrences( str ,w):
# Get the regex to be checked
regexPattern = "\\b" + w + "\\b"
# Variable to count total
# occurrences of the given word
count = 0
for m in re.finditer(regexPattern, str ):
# Increment count
count = count + 1
# Print the occurrences of the word
print (count)
# Driver Code # Input str = "peter parker picked a peck of pickled peppers"
w = "peck"
countOccurrences( str ,w)
# This code is contributed by Pushpesh Raj. |
// C# program for the above approach using System;
using System.Text.RegularExpressions;
public class GFG {
// Function to count total occurrences
// of word "w" in String "str"
static void countOccurrences(String str, String w)
{
// Get the regex to be checked
String regexPattern = "\\b" + w + "\\b" ;
Regex rx = new Regex(regexPattern,RegexOptions.Compiled | RegexOptions.IgnoreCase);
// Variable to count total
// occurrences of the given word
int count = 0;
while (str.Contains(w)) {
str = str.Replace(w, "" );
// Increment count
count++;
}
// Print the occurrences of the word
Console.Write(count + "\n" );
return ;
}
// Driver Code
public static void Main(String[] args)
{
// Input
String str = "peter parker picked a peck of pickled peppers" ;
String w = "peck" ;
countOccurrences(str, w);
}
} // This code is contributed by gauravrajput1 |
//// Javascript program for the above approach function countOccurrences(string, substring) {
var n = 0;
var position = 0;
while ( true ) {
position = string.indexOf(substring, position);
if (position != -1) {
n++;
position += substring.length;
} else {
break ;
}
}
return n;
} console.log(countOccurrences( "peter parker picked a peck of pickled peppers" , "peck" ));
// This code is contributed By Rahul Chauhan |
1
Time Complexity : O(N)
Auxiliary Space : O(N)