Skip to content
Related Articles

Related Articles

Improve Article

CharMatcher Class | Guava | Java

  • Last Updated : 15 Nov, 2018

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 GeeksforGeeks, 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 GeeksforGeeks, 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 GeeksforGeeks, 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 GeeksforGeeks1287 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 GeeksforGeeks1287 What's 9886up
After digit removal : Hello GeeksforGeeks What's up

Reference: Google Guava

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up