Matcher appendTail(StringBuffer) method in Java with Examples

The appendTail(StringBuffer) method of Matcher Class behaves as a append-and-replace method. This method reads the input string and appends it to the given StringBuffer at the tail position.
Syntax:
public StringBuffer appendTail(StringBuffer buffer)
Parameters: This method takes a parameter buffer which is the StringBuffer that stores the target string.
Return Value: This method returns a StringBuffer with the target String replaced.
Below examples illustrate the Matcher.appendTail() method:
Example 1:
// Java code to illustrate appendTail() 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        while (matcher.find()) {            matcher.appendReplacement(buffer,                                      stringToBeReplaced);        }          // Add the replaced string at the tail        // using the appendTail() method        matcher.appendTail(buffer);          // Print the replaced matcher        System.out.println("After Replacement: "                           + buffer.toString());    }} |
Output:
Before Replacement: GeeksForGeeks Geeks for For Geeks Geek After Replacement: GEEKSForGEEKS GEEKS for For GEEKS Geek
Example 2:
// Java code to illustrate appendTail() 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        while (matcher.find()) {            matcher.appendReplacement(buffer,                                      stringToBeReplaced);        }          // Add the replaced string at the tail        // using the appendTail() method        matcher.appendTail(buffer);          // Print the replaced matcher        System.out.println("After Replacement: "                           + buffer.toString());    }} |
Output:
Before Replacement: FGF FGF FGF FGF After Replacement: GFG GFG GFG GFG



