当前位置:首页 > 编程笔记 > 正文
已解决

replace、replaceAll、replaceFirst的区别

来自网友在路上 145845提问 提问时间:2023-10-20 08:19:34阅读次数: 45

最佳答案 问答题库458位专家为你答疑解惑

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博客

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"replace、replaceAll、replaceFirst的区别":http://eshow365.cn/6-20182-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!