Matcher appendTail(StringBuilder) method in Java with Examples

The appendTail(StringBuilder) method of Matcher Class behaves as a append-and-replace method. This method reads the input string and appends it to the given StringBuilder at the tail position.
Syntax:
public StringBuilder appendTail(StringBuilder builder)
Parameters: This method takes a parameter builder which is the StringBuilder that stores the target string.
Return Value: This method returns a StringBuilder 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 = "GFG";        StringBuilder builder = new StringBuilder();          // Replace every matched pattern        // with the target String        while (matcher.find()) {            matcher                .appendReplacement(builder,                                   stringToBeReplaced);        }          // Add the replaced string at the tail        // using the appendTail() method        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: GFGForGFG GFG for For GFG 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 GFG GFG 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 = "Geeks";        StringBuilder builder = new StringBuilder();          // Replace every matched pattern        // with the target String        while (matcher.find()) {            matcher                .appendReplacement(builder,                                   stringToBeReplaced);        }          // Add the replaced string at the tail        // using the appendTail() method        matcher.appendTail(builder);          // Print the replaced matcher        System.out.println("After Replacement: "                           + builder.toString());    }} |
Output:
Before Replacement: FGF GFG GFG FGF After Replacement: Geeks GFG GFG Geeks



