一旦编译了所需的正则表达式并通过将输入字符串作为参数传递给matcher()方法来检索匹配器对象。
您可以使用replaceAll()Matcher类的方法用另一个str4替换输入字符串的所有匹配部分。
此方法接受一个字符串(替换字符串),并用它替换输入字符串中的所有匹配项并返回结果。
例子1import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplaceAll{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter input text: ");
String input = sc.nextLine();
String regex = "\\t+";
//创建一个模式对象
Pattern pattern = Pattern.compile(regex);
//匹配字符串中的已编译模式
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("No.of matches: "+count);
String result = matcher.replaceAll(" ");
System.out.println("Result: "+result);
}
}
输出结果Enter input text:
sample text with tab spaces
No.of matches: 4
Result: sample text with tab spaces
同样,您可以使用replaceFirst()Matcher类的方法替换第一个匹配项。
例子2import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplaceAll{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter input text: ");
String input = sc.nextLine();
String regex = "\\d";
//创建一个模式对象
Pattern pattern = Pattern.compile(regex);
//匹配字符串中的已编译模式
Matcher matcher = pattern.matcher(input);
int count = 0;
while (matcher.find()) {
count++;
}
System.out.println("No.of matches: "+count);
String result = matcher.replaceFirst("#");
System.out.println("Result: "+result);
}
}
输出结果Enter input text:
test data 1 2 3
No.of matches: 3
Result: test data # 2 3