Given a string and a character, the task is to make a function that counts the occurrence of the given character in the string using Regex.
Examples:
Input: str = "neveropen", c = 'e' Output: 4 'e' appears four times in str. Input: str = "abccdefgaa", c = 'a' Output: 3 'a' appears three times in str.
Regular ExpressionsÂ
Regular Expressions or Regex is an API for defining String patterns that can be used for searching, manipulating, and editing a string in Java. Email validation and passwords are a few areas of strings where Regex is widely used to define the constraints. Regular Expressions are provided under java.util.regex package.Â
Approach – Using Matcher.find() method in Java Regex
- Get the String in which it is to be matched
- Find all occurrences of the given character using Matcher.find() function (in Java)
- For each found occurrence, increment the counter by 1
Below is the implementation of the above approach:
Java
// Java program to count occurrences// of a character using Regex  import java.util.regex.*;  class GFG {      // Method that returns the count of the given    // character in the string    public static long count(String s, char ch)    {          // Use Matcher class of java.util.regex        // to match the character        Matcher matcher            = Pattern.compile(String.valueOf(ch))                  .matcher(s);          int res = 0;          // for every presence of character ch        // increment the counter res by 1        while (matcher.find()) {            res++;        }          return res;    }      // Driver method    public static void main(String args[])    {        String str = "neveropen";        char c = 'e';        System.out.println("The occurrence of " + c + " in "                           + str + " is " + count(str, c));    }} |
The occurrence of e in neveropen is 4
Related Article:Â
