Saturday, October 11, 2025
HomeLanguagesJavaCharMatcher Class | Guava | Java

CharMatcher Class | Guava | Java

CharMatcher determines a true or false value for any Java char value. This class provides various methods to handle various Java types for char values.

Declaration: The declaration for com.google.common.base.CharMatcher is as:

@GwtCompatible(emulated = true)
public final class CharMatcher
   extends Object

There are 2 ways to obtain CharMatcher instance:

  • Using constants: CharMatcher class provides following constants to obtain CharMatcher instance.

    Note : This class deals only with char values. It does not understand supplementary Unicode code points in the range 0x10000 to 0x10FFFF. Such logical characters are encoded into a String using surrogate pairs, and a CharMatcher treats these just as two separate characters.

  • Using methods provided by CharMatcher class: One can get instance of CharMatcher class by using following methods.

Example 1:




// Java code to get number of matching
// characters in given sequence
// and display them using countIn()
  
  
import com.google.common.base.CharMatcher;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        // "anyOf" method returns a char matcher
        // that matches any character present in
        // the given character sequence.
        CharMatcher matcher = CharMatcher.anyOf("aeiou");
  
        String str = "Hello Lazyroar, What's up ?";
  
        // "countIn" returns the number of matching
        // characters found in a character sequence.
        int vowels = matcher.countIn(str);
  
        // To display the number of vowels in
        // character sequence
        System.out.println("Number of vowels in '"
                           + str + "' are "
                           + vowels);
    }
}


Output:

Number of vowels in 'Hello Lazyroar, What's up ?' are 9

Some other methods of CharMatcher Class are:

Example 2:




// Java code to get the index
// of matching character
  
import com.google.common.base.CharMatcher;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        // "anyOf" method returns a char matcher
        // that matches any character present in
        // the given character sequence.
        CharMatcher matcher = CharMatcher.anyOf("aeiou");
  
        String str = "Hello Lazyroar, What's up ?";
  
        // To return the index of first matching
        // character in given input sequence.
        int firstIndex = matcher.indexIn(str);
  
        // To Return the index of first matching
        // character in given input sequence,
        // from given starting index.
        int nextIndex = matcher.indexIn(str, firstIndex + 1);
  
        // To return the index of the last matching
        // character in a character sequence
        int lastIndex = matcher.lastIndexIn(str);
  
        System.out.println("First Index is " + firstIndex);
        System.out.println("Next Index is " + nextIndex);
        System.out.println("Last Index is " + lastIndex);
    }
}


Output:

First Index is 1
Next Index is 4
Last Index is 28

Some other methods of CharMatcher Class are:

Example 3:




// Java code to remove all digits 
// from a  given string
  
import com.google.common.base.CharMatcher;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        // Determines whether a character is
        // a digit according to Unicode.
        CharMatcher matcher = CharMatcher.DIGIT;
  
        String str = "12345Hello Lazyroar1287 What's 9886up";
        System.out.println("Original String : " + str);
  
        // To remove all matching characters
        // from given string.
        String result = matcher.removeFrom(str);
  
        // To display the string which
        // doesn't contain digit
        System.out.println("After digit removal : " + result);
    }
}


Output:

Original String : 12345Hello Lazyroar1287 What's 9886up
After digit removal : Hello Lazyroar What's up

Reference: Google Guava

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32350 POSTS0 COMMENTS
Milvus
87 POSTS0 COMMENTS
Nango Kala
6718 POSTS0 COMMENTS
Nicole Veronica
11880 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11941 POSTS0 COMMENTS
Shaida Kate Naidoo
6838 POSTS0 COMMENTS
Ted Musemwa
7101 POSTS0 COMMENTS
Thapelo Manthata
6794 POSTS0 COMMENTS
Umr Jansen
6794 POSTS0 COMMENTS