8 Ağustos 2019 Perşembe

CharMatcher Sınıfı

Giriş
CharMatcher factory ve sonuç metodlarından oluşur.

countIn metodu - Sonuç metodu
Şöyle yaparız.
CharMatcher.is('a').countIn("aaaab"); //returns 4
inRange metodu - Factory metod
Şöyle yaparız.
String outputString = CharMatcher.inRange('0', '9').retainFrom(inputString);
is metodu - Factory metod
Şöyle yaparız
CharMatcher.is(':').countIn("a:b:c"); // returns 2
CharMatcher.isNot(':').countIn("a:b:c"); // returns 3
CharMatcher.inRange('a', 'b').countIn("a:b:c"); // returns 2
CharMatcher.DIGIT.retainFrom("a12b34"); // returns "1234"
CharMatcher.ASCII.negate().removeFrom("a®¶b"); // returns "ab";
javaDigits metodu - Factory metod
Şöyle yaparız.
String inputString = "abc123def456";
String outputString = CharMatcher.javaDigit().retainFrom(inputString);
matchesAllOf metodu
CharMatcher kurulduktan sonra matchesAllOf() metodu ile girdinin belirtilen set içinde olup olmadığı kontrol edilir.
Örnek
Şöyle yaparız.
if(!CharMatcher.ascii().matchesAllOf(myString)){
  //String doesn't match        
}  
or metodu
Şöyle yaparız.
CharMatcher letters = CharMatcher.inRange('a', 'z')
                  .or(CharMatcher.inRange('A', 'Z'));
CharMatcher numbers = CharMatcher.inRange('0, '9');
CharMatcher specials = CharMatcher.anyOf(",-.");

CharMatcher allMyCharacters = letters.or(numbers).or(specials);

// If you want performance, keep the line below. If not, remove it
allMyCharacters = allMyCharacters.precomputed();

if (allMyCharacters.matchesAllOf(myString)) {
  //
}
trimLeading metodu
Örnek
Şöyle yaparız
CharMatcher.is('0').trimLeadingFrom("00000050.43")
Diğer

Bu sınıfı kullanmak istemiyorsak şöyle yaparız.
static class MyCustomMatcher {
  // bits needed = last character + 1
  private static final BitSet matcher = new BitSet('ü' + 1);

  static {
    String other = ",-.";
    matcher.set(c, 'A', 'Z' + 1); // upper
    matcher.set(c, 'a', 'z' + 1); // lower
    matcher.set(c, '0', '9' + 1); // digit
    for (int i = 0; i < other.length(); i++) matcher.set(other.charAt(i));
  }

  public static boolean matchesAll(String s) {
    for (int i = 0; i < s.length(); i++) {
      if (!matcher.get(s.charAt(i))) return false;
    }
    return true;
  }
}
Kullanmak için şöyle yaparız
if (MyCustomMatcher.matchesAll("Hello world")) { 
   // do something
}


Hiç yorum yok:

Yorum Gönder