The appendReplacement(StringBuffer, 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(StringBuffer buffer,
String stringToBeReplaced)
Parameters: This method takes two parameters:
- buffer: which is the StringBuffer 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"; StringBuffer buffer = new StringBuffer(); // Replace every matched pattern // with the target String // using appendReplacement() method while (matcher.find()) { matcher.appendReplacement(buffer, stringToBeReplaced); } matcher.appendTail(buffer); // Print the replaced matcher System.out.println("After Replacement: " + buffer.toString()); } } |
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"; StringBuffer buffer = new StringBuffer(); // Replace every matched pattern // with the target String // using appendReplacement() method while (matcher.find()) { matcher.appendReplacement(buffer, stringToBeReplaced); } matcher.appendTail(buffer); // Print the replaced matcher System.out.println("After Replacement: " + buffer.toString()); } } |
Before Replacement: FGF FGF FGF FGF After Replacement: GFG GFG GFG GFG
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

