Cuente las ocurrencias de un carácter dado usando Regex en Java

Dada una string y un carácter, la tarea es crear una función que cuente la ocurrencia del carácter dado en la string usando Regex .

Ejemplos:

Input: str = "geeksforgeeks", c = 'e'
Output: 4
'e' appears four times in str.

Input: str = "abccdefgaa", c = 'a' 
Output: 3
'a' appears three times in str.

Expresiones regulares 

Regular Expressions o Regex es una API para definir patrones de strings que se pueden usar para buscar, manipular y editar una string en Java. La validación de correo electrónico y las contraseñas son algunas áreas de strings donde Regex se usa ampliamente para definir las restricciones. Las expresiones regulares se proporcionan en el paquete  java.util.regex .

Enfoque: uso del método Matcher.find() en Java Regex

  • Obtenga la string en la que se debe hacer coincidir
  • Encuentre todas las ocurrencias del carácter dado usando la función Matcher.find() (en Java)
  • Por cada ocurrencia encontrada, incremente el contador en 1

A continuación se muestra la implementación del enfoque anterior:

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 = "geeksforgeeks";
        char c = 'e';
        System.out.println("The occurrence of " + c + " in "
                           + str + " is " + count(str, c));
    }
}
Producción

The occurrence of e in geeksforgeeks is 4

Artículo relacionado: 

Publicación traducida automáticamente

Artículo escrito por Code_r y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *