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