Giriş
CharMatcher factory ve sonuç metodlarından oluşur.
countIn metodu - Sonuç metodu
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız
Şöyle yaparız.
CharMatcher kurulduktan sonra matchesAllOf() metodu ile girdinin belirtilen set içinde olup olmadığı kontrol edilir.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Bu sınıfı kullanmak istemiyorsak şöyle yaparız.
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 metoduCharMatcher 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
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ızif (MyCustomMatcher.matchesAll("Hello world")) {
// do something
}
Hiç yorum yok:
Yorum Gönder