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