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()仅替换第一次出现的字符
- public class Test {
- public static void main(String args[]) {
- System.out.println("abac".replace("a", "-a")); // -ab-ac
- }
- }
运行结果:
-ab-ac
- 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
- 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博客