Saturday, December 28, 2024
Google search engine
HomeLanguagesJavaMatcher appendReplacement(StringBuilder, String) method in Java with Examples

Matcher appendReplacement(StringBuilder, String) method in Java with Examples

The appendReplacement(StringBuilder, String) method of Matcher Class behaves as a append-and-replace method. This method reads the input string and replace it with the matched pattern in the matcher string.

Syntax:

public Matcher 
    appendReplacement(StringBuilder builder, 
                      String stringToBeReplaced)

Parameters: This method takes two parameters:

  • builder: which is the StringBuilder that stores the target string.
  • stringToBeReplaced: which is the String to be replaced in the matcher.

Return Value: This method returns a Matcher with the target String replaced.

Exception: This method throws following exceptions:

  • IllegalStateException: If no match has yet been attempted, or if the previous match operation failed
  • IllegalArgumentException: If the replacement string refers to a named-capturing group that does not exist in the pattern
  • IndexOutOfBoundsException: If the replacement string refers to a capturing group that does not exist in the pattern

Below examples illustrate the Matcher.appendReplacement() method:

Example 1:




// Java code to illustrate appendReplacement() method
  
import java.util.regex.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Get the regex to be checked
        String regex = "(Geeks)";
  
        // Create a pattern from regex
        Pattern pattern
            = Pattern.compile(regex);
  
        // Get the String to be matched
        String stringToBeMatched
            = "GeeksForGeeks Geeks for For Geeks Geek";
  
        // Create a matcher for the input String
        Matcher matcher
            = pattern.matcher(stringToBeMatched);
  
        System.out.println("Before Replacement: "
                           + stringToBeMatched);
  
        // Get the String to be replaced
        String stringToBeReplaced = "GEEKS";
        StringBuilder builder = new StringBuilder();
  
        // Replace every matched pattern
        // with the target String
        // using appendReplacement() method
        while (matcher.find()) {
            matcher.appendReplacement(builder,
                                      stringToBeReplaced);
        }
        matcher.appendTail(builder);
  
        // Print the replaced matcher
        System.out.println("After Replacement: "
                           + builder.toString());
    }
}


Output:

Before Replacement: GeeksForGeeks Geeks for For Geeks Geek
After Replacement: GEEKSForGEEKS GEEKS for For GEEKS Geek

Example 2:




// Java code to illustrate appendReplacement() method
  
import java.util.regex.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Get the regex to be checked
        String regex = "(FGF)";
  
        // Create a pattern from regex
        Pattern pattern
            = Pattern.compile(regex);
  
        // Get the String to be matched
        String stringToBeMatched
            = "FGF FGF FGF FGF";
  
        // Create a matcher for the input String
        Matcher matcher
            = pattern.matcher(stringToBeMatched);
  
        System.out.println("Before Replacement: "
                           + stringToBeMatched);
  
        // Get the String to be replaced
        String stringToBeReplaced = "GFG";
        StringBuilder builder = new StringBuilder();
  
        // Replace every matched pattern
        // with the target String
        // using appendReplacement() method
        while (matcher.find()) {
            matcher.appendReplacement(builder,
                                      stringToBeReplaced);
        }
        matcher.appendTail(builder);
  
        // Print the replaced matcher
        System.out.println("After Replacement: "
                           + builder.toString());
    }
}


Output:

Before Replacement: FGF FGF FGF FGF
After Replacement: GFG GFG GFG GFG

Reference: https://docs.oracle.com/javase/9/docs/api/java/util/regex/Matcher.html#appendReplacement-java.lang.StringBuilder-java.lang.String-

Dominic Rubhabha-Wardslaus
Dominic Rubhabha-Wardslaushttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Recent Comments