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