The replaceFirst(Function) method of Matcher Class behaves as a append-and-replace method. This method replaces first instance of the pattern matched in the matcher with the function passed in the parameter.
Syntax:
public String replaceFirst( Function replacerFunction)
Parameters: This method takes a parameter replacerFunction which is the function that defines the replacement of the matcher.
Return Value: This method returns a String with the target String constructed by replacing the String.
Exceptions: This method throws following exceptions:
- NullPointerException: if the replacer function is null
- ConcurrentModificationException: if it is detected that the replacer function modified this matcher’s state
Below examples illustrate the Matcher.replaceFirst() method:
Example 1:
// Java code to illustrate replaceFirst() 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" ; StringBuilder builder = new StringBuilder(); // Replace every matched pattern // with the target String // using replaceFirst() method System.out.println( "After Replacement: " + matcher .replaceFirst( x -> x.group().toUpperCase())); } } |
Output:
Before Replacement: GeeksForGeeks Geeks for For Geeks Geek After Replacement: GEEKSForGeeks Geeks for For Geeks Geek
Example 2:
// Java code to illustrate replaceFirst() 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 = "GFG 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 = "(GFG)" ; StringBuilder builder = new StringBuilder(); // Replace every matched pattern // with the target String // using replaceFirst() method System.out.println( "After Replacement: " + matcher .replaceFirst( x -> x.group().toLowerCase())); } } |
Output:
Before Replacement: GFG FGF GFG GFG FGF After Replacement: GFG fgf GFG GFG FGF
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.