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