CharMatcher ক্লাস যেকোনো Java char মানের জন্য true বা false মান নির্ধারণ করে, ঠিক যেমন Predicate যেকোনো Object-এর জন্য করে।
| ক্র. নং | মেথড ও বিবরণ |
|---|---|
| ১ | CharMatcher and(CharMatcher other) — এই ম্যাচার এবং other ম্যাচার দুটোই যে ক্যারেক্টারগুলো ম্যাচ করে, সেই ক্যারেক্টারগুলো ম্যাচ করে এমন একটি ম্যাচার রিটার্ন করে। |
| ২ | static CharMatcher anyOf(CharSequence sequence) — দিয়ে যেসব ক্যারেক্টার থাকে, সেগুলো ম্যাচ করে এমন একটি char matcher রিটার্ন করে। |
| ৩ | boolean apply(Character character) — ডিপ্রিকেটেড। শুধু Predicate ইন্টারফেস সন্তুষ্ট করার জন্য; বদলে matches(char) ব্যবহার করুন। |
| ৪ | String collapseFrom(CharSequence sequence, char replacement) — ইনপুট ক্যারেক্টার সিকোয়েন্সের একটি কপি রিটার্ন করে, যেখানে এই ম্যাচারের সাথে মিলে যাওয়া প্রতিটি কনsekutিভ ক্যারেক্টার গ্রুপকে একটি একক রিপ্লেসমেন্ট ক্যারেক্টারের দ্বারা প্রতিস্থাপিত করা হয়েছে। |
| ৫ | int countIn(CharSequence sequence) — একটি ক্যারেক্টার সিকোয়েন্সে মিলে যাওয়া ক্যারেক্টারদের সংখ্যা রিটার্ন করে। |
| ৬ | static CharMatcher forPredicate(Predicate<? super Character> predicate) — দেওয়া Character-ভিত্তিক প্রেডিকেটের সমান আচরণশীল একটি ম্যাচার রিটার্ন করে, কিন্তু যা প্রিমিটিভ char ইনস্ট্যান্সের ওপর কাজ করে। |
| ৭ | int indexIn(CharSequence sequence) — একটি ক্যারেক্টার সিকোয়েন্সে প্রথম মিলে যাওয়া ক্যারেক্টারের ইনডেক্স রিটার্ন করে, মিল না পাওয়া গেলে -1 রিটার্ন করে। |
উদাহরণ
নিচের Java প্রোগ্রাম তৈরি করুন যেকোনো এডিটরে (যেমন C:\Guava ফোল্ডারে):
GuavaTester.java
import com.google.common.base.CharMatcher;
import com.google.common.base.Splitter;
public class GuavaTester {
public static void main(String args[]) {
GuavaTester tester = new GuavaTester();
tester.testCharMatcher();
}
private void testCharMatcher() {
System.out.println(CharMatcher.DIGIT.retainFrom("mahesh123")); // শুধু ডিজিট
System.out.println(CharMatcher.WHITESPACE.trimAndCollapseFrom(" Mahesh Parashar ", ' '));
// শেষের হোয়াইটস্পেস টрим করে, এবং হোয়াইটস্পেসকে একক স্পেসে রিপ্লেস/কোল্যাপ্স করে
System.out.println(CharMatcher.JAVA_DIGIT.replaceFrom("mahesh123", "*"));
// সব ডিজিটকে তারকা চিহ্নে রিপ্লেস করে
System.out.println(CharMatcher.JAVA_DIGIT.or(CharMatcher.JAVA_LOWER_CASE).retainFrom("mahesh123"));
// ডিজিট বা ছোট হাতের অক্ষর নয় এমন সব ক্যারেক্টার অপসারণ করে
}
}
javac কম্পাইলার দিয়ে কম্পাইল করুন:
C:\Guava>javac GuavaTester.java
এখন GuavaTester রান করুন ফলাফল দেখতে:
C:\Guava>java GuavaTester
আউটপুট
123 Mahesh Parashar mahesh*** mahesh123