java.util.regex.Matcher ক্লাস একটি ইঞ্জিনের প্রতিনিধিত্ব করে যা বিভিন্ন ম্যাচ অপারেশন করে। এই ক্লাসের জন্য কোন কনস্ট্রাক্টর নেই, আপনি java.util.regex.Pattern ক্লাসের matches() পদ্ধতি ব্যবহার করে এই ক্লাসের একটি অবজেক্ট তৈরি/প্রাপ্ত করতে পারেন।
এই (Matcher) ক্লাসের appendReplacement() পদ্ধতিটি একটি StringBuffer অবজেক্ট এবং একটি স্ট্রিং (প্রতিস্থাপন স্ট্রিং) প্যারামিটার হিসাবে গ্রহণ করে এবং, স্ট্রিংবাফার অবজেক্টে ইনপুট ডেটা যুক্ত করে, মিলিত বিষয়বস্তুকে প্রতিস্থাপন স্ট্রিং দিয়ে প্রতিস্থাপন করে।
অভ্যন্তরীণভাবে, এই পদ্ধতিটি ইনপুট স্ট্রিং থেকে প্রতিটি অক্ষর পড়ে এবং স্ট্রিং বাফার যুক্ত করে, যখনই একটি মিল ঘটে এটি স্ট্রিংটির মিলিত বিষয়বস্তুর অংশের পরিবর্তে বাফারে প্রতিস্থাপন স্ট্রিং যুক্ত করে এবং মিলিত সাবস্ট্রিংয়ের পরবর্তী অবস্থান থেকে এগিয়ে যায়৷
উদাহরণ1
import java.util.regex.Matcher; import java.util.regex.Pattern; public class appendReplacementExample { public static void main(String[] args) { String str = "<p>This <b>is</b> an <b>example</b>HTML <b>script</b>.</p>"; //Regular expression to match contents of the bold tags String regex = "<b>(\\S+)</b>"; System.out.println("Input string: \n"+str); //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(str); //Creating an empty string buffer StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, "BoldData"); } matcher.appendTail(sb); System.out.println("Contents of the StringBuffer: \n"+ sb.toString() ); } }
আউটপুট
Input string: <p>This <b>is</b> an <b>example</b> HTML <b>script</b>.</p> Contents of the StringBuffer: This BoldData an BoldData HTML BoldData. <p>This BoldData an BoldData HTML BoldData.</p>
উদাহরণ 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class appendReplacementExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[#$&+=@|<>-]"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); int count =0; StringBuffer buffer = new StringBuffer(); System.out.println("Removing the special character form the given string"); while(matcher.find()) { count++; matcher.appendReplacement(buffer, ""); } matcher.appendTail(buffer); //Retrieving Pattern used System.out.println("The are special characters occurred "+count+" times in the given text"); System.out.println("Text after removing all of them \n"+buffer.toString()); } }
আউটপুট
Enter input text: Hello# how$ are& yo|u welco<me to> Tut-oria@ls@po-in#t. Removing the special character form the given string The are special characters occurred 11 times in the given text Text after removing all of them Hello how are you welcome to Tutorialspoint.