replace、replaceAll、replaceFirst的区别

replace、replaceAll和replaceFirst是Java中常用的替换字符的方法,它们的方法定义是:

replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串。

replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串。

replaceFirst(String regex, String replacement) ,基本和replaceAll相同,区别是只替换第一个匹配项。

可以看到,其中replaceAll以及replaceFirst是和正则表达式有关的,而replace和正则表达式无关。

replaceAll和replaceFirst的区别主要是替换的内容不同,replaceAll是替换所有匹配的字符,而replaceFirst()仅替换第一次出现的字符

实例

1.replace()替换字符串

public class Test {
    public static void main(String args[]) {
        System.out.println("abac".replace("a", "-a")); // -ab-ac
    }
}

运行结果:

-ab-ac

 

2.replaceAll() 替换符合正则的所有文字

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
    public static void main(String args[]) {
        // 文字替换(全部)
        Pattern pattern = Pattern.compile("正则表达式");
        Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");
        // 替换所有符合正则的数据
        System.out.println(matcher.replaceAll("Java"));
    }
}

运行结果:

Java Hello World,Java Hello World

3.replaceFirst() 替换第一个符合正则的数据

import java.util.regex.Matcher;

import java.util.regex.Pattern;

 

public class Test {

    public static void main(String args[]) {

        // 文字替换(首次出现字符)

        Pattern pattern = Pattern.compile("正则表达式");

        Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");

        // 替换第一个符合正则的数据

        System.out.println(matcher.replaceFirst("Java"));

 

    }

}

运行结果:

Java Hello World,正则表达式 Hello World

部分内容转载自: replaceFirst、replaceAll、replace区别_replaceall replace-CSDN博客

你可能感兴趣的:(JAVA知识点杂烩,java)