The java.util.regex.Matcher class represents an engine that performs various match operations. There is no constructor for this class, you can create/obtain an object of this class using the matches() method of the class java.util.regex.Pattern.
The replaceFirst() method of this (Matcher) class accepts a string value and, replaces the first matched subsequence in the input text with the given string value and returns the result.
Example 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ReplaceFirstExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[#]"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Creating a Matcher object Matcher matcher = pattern.matcher(input); int count =0; while(matcher.find()) { count++; } //Retrieving Pattern used System.out.println("The are character # occurred "+count+" times in the given text"); //Replacing the first occurrence with @ String result = matcher.replaceFirst("@"); System.out.println("Text after replacing the first occurrence of # with @ \n"+result); } }
Output
Enter input text: Enter input text: Hello# How # are# you #welcome to Tutorials#point The are character # occurred 5 times in the given text Text after replacing the first occurrence of # with @ Hello@ How # are# you #welcome to Tutorials#point
Example 2
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ReplaceFirstExample { public static void main(String args[]) { //Reading String from user System.out.println("Enter a String"); Scanner sc = new Scanner(System.in); String input = sc.nextLine(); String regex = "\\s+"; //Compiling the regular expression Pattern pattern = Pattern.compile(regex); //Retrieving the matcher object Matcher matcher = pattern.matcher(input); //Replacing all space characters with single space String result = matcher.replaceFirst("_"); System.out.print("Text after replacing the first space with '_': \n"+result); } }
Output
Enter a String hello this is a sample text with irregular spaces Text after replacing the first space with '_': hello_this is a sample text with irregular spaces