কম্পিউটার টিউটোরিয়াল

জাভায় Matcher appendReplacement() মেথড উদাহরণসহ ব্যাখ্যা

java.util.regex.Matcher ক্লাস বিভিন্ন ম্যাচ অপারেশন সম্পাদন করার একটি ইঞ্জিন প্রতিনিধিত্ব করে। এই ক্লাসের কোনো কনস্ট্রাক্টর নেই, আপনি java.util.regex.Pattern ক্লাসের matches() মেথড ব্যবহার করে এই ক্লাসের অবজেক্ট তৈরি/প্রাপ্ত করতে পারেন।

এই (Matcher) ক্লাসের appendReplacement() মেথড একটি StringBuffer অবজেক্ট এবং একটি স্ট্রিং (প্রতিস্থাপন স্ট্রিং) প্যারামিটার হিসেবে গ্রহণ করে এবং, ইনপুট ডেটাকে StringBuffer অবজেক্টে যুক্ত করে, মিলে যাওয়া কন্টেন্টকে প্রতিস্থাপন স্ট্রিং-এ প্রতিস্থাপন করে।

অন্তর্নিহিতভাবে, এই মেথড ইনপুট স্ট্রিং থেকে প্রতিটি ক্যারেক্টার পড়ে এবং স্ট্রিং বাফারে যুক্ত করে, যখনই একটি মিল ঘটে তখন এটি মিলে যাওয়া কন্টেন্টের অংশের বদলে প্রতিস্থাপন স্ট্রিংটি বাফারে যুক্ত করে এবং, মিলে যাওয়া সাবস্ট্রিং-এর পরবর্তী পজিশন থেকে এগিয়ে যায়।

উদাহরণ ১

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>";
        
        // বোল্ড ট্যাগের কন্টেন্ট মিলাতে রেগুলার এক্সপ্রেশন
        String regex = "<b>(\\S+)</b>";
        System.out.println("Input string: \n" + str);
        
        // Pattern অবজেক্ট তৈরি
        Pattern pattern = Pattern.compile(regex);
        
        // স্ট্রিং-এ কম্পাইল করা প্যাটার্ন মিলানো
        Matcher matcher = pattern.matcher(str);
        
        // খালি একটি স্ট্রিং বাফার তৈরি
        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>

উদাহরণ ২

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 = "[#$&+=@|<>-]";
        
        // Pattern অবজেক্ট তৈরি
        Pattern pattern = Pattern.compile(regex);
        
        // Matcher অবজেক্ট তৈরি
        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);
        
        // ব্যবহৃত Pattern পুনরুদ্ধার
        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.
  1. জাভায় Matcher reset() মেথড উদাহরণসহ ব্যাখ্যা

  2. জাভায় Matcher replaceFirst() মেথড উদাহরণসহ ব্যাখ্যা

  3. জাভায় Matcher pattern() মেথড উদাহরণসহ ব্যাখ্যা

  4. জাভাতে Pattern.matcher() মেথড - উদাহরণ সহ ব্যাখ্যা