一、简述

【replace】的参数是 char 和 CharSequence,既支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,也就是字符串)。

【replaceAll】的参数是 regex,即基于规则表达式的替换。比如:可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号。

二、异同

1️⃣相同点:都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串。

2️⃣不同点:replaceAll 支持正则表达式,因此会对参数进行解析(两个参数均是)。replace 不支持正则,replace("\\d","*")就是替换"\\d"的字符串,而不会解析为正则。

3️⃣另外还有一个不同点:\在 Java 中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" );只打印出一个\。但是\也是正则表达式中的转义字符,需要用两个代表一个。所以\\\\被 Java 转换成\\\\又被正则表达式转换成\,因此用 replaceAll 替换\\\,就要用replaceAll("\\\\","\\\\\\\\"),而 replace 则为replace("\\","\\\\")

4️⃣如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于正则表达式的替换,但与 replaceAll() 不同的是,只替换第一次出现的字符串。

三、测试

public class ReplaceDemo {public static void main(String[] args) {String str = "a1b2c3d";System.out.println(str.replace("a", "123"));System.out.println(str.replace("\\d", "888"));System.out.println(str.replaceAll("\\d", "888"));System.out.println(str.replaceFirst("\\d", "888"));}
}

结果:

1231b2c3d
a1b2c3d
a888b888c888d
a888b2c3d

replace与replaceAll的区别相关推荐

  1. replace和replaceAll的区别

    String对象中的replace和replaceAll的区别? replace方法:支持字符和字符串的替换. public String replace(char oldChar, char new ...

  2. java中String字符串的替换函数:replace与replaceAll的区别

    例如有如下x的字符串 String x = "[kllkklk\\kk\\kllkk]"; 要将里面的"kk"替换为++,可以使用两种方法得到相同的结果 rep ...

  3. java replace和replaceAll的区别以及用法

    replace和replaceAll是JAVA中常用的替换字符的方法 public String replace(char oldChar, char newChar)         在字符串中用n ...

  4. String 方法中 replace 和 replaceAll 的区别详解(源码分析)

    replace() 和 replaceAll() 都是常用的替换字符串的方法: 两者都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串. 如果只想替换第一次出现的,可以使用 re ...

  5. JAVA中REPLACE和REPLACEALL的区别(转)

    replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharS ...

  6. java中replace和replaceAll的区别

    replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharS ...

  7. Java中的Replace和ReplaceAll的区别

    replace和replaceAll是String类中提供的两种用于字符/字符串替换的方法.如果只从字面意思理解,很容易误解为replace表示替换单个匹配项,而replaceAll表示替换所有匹配项 ...

  8. JS 中 replace 和 replaceAll 的区别?

    方法解释 两种方法都返回一个新字符串,原始字符串保持不变.并且改方法可以传两个参数. 参数一:pattern. pattern 可以是一个 字符串 或一个 正则表达式, 参数二:replacement ...

  9. replace()和replaceAll()的区别

    相同点 都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replace ...

最新文章

  1. ICON: 从单张图片重建穿衣服人体模型
  2. LeetCode 77. Combinations--回溯法,-Python,Java解法
  3. 电脑下边的任务栏不见了_XP系统任务栏被空白工具栏占领快速删除办法
  4. springmvc与struts2的区别
  5. IEEE Spectrum:这些小机器人又好玩又实用,适合过年带回家
  6. foreman架构的引入3-安装Foreman1.5.3架构(all-in-one)
  7. 高等数学复习笔记(六)- 一元函数积分学的应用
  8. c语言程序不知道头结点输出链表,C语言,不带头结点的链表,利用头插法存入信息,然后输出,没有error,却运行不了,求大神指点...
  9. 信创终端高效运维与安全管理方案
  10. uploadify上传
  11. excel power Query
  12. 单目3D目标检测之入门
  13. 中国脑计划颠覆性创新之路二,欧美脑计划存在重大缺陷
  14. CSS3中的伪元素选择器与scss
  15. 04.超网_静态路由
  16. 暗组免杀php,那些强悍的PHP一句话后门
  17. Pycharm新手使用教程(详解)
  18. 30种常见补肾食物,不看绝对会后悔
  19. 【Unity】AI实战应用——Unity接入GPT和对游戏开发实际应用的展望
  20. 为什么我们要一直深入底层

热门文章

  1. 信息安全技术之9软件保护技术测试卷1
  2. 随手记投资安全吗?随手记所合作的广发银行成功入围首批银行存管白名单。
  3. 输入法字母和数字间距变大的解决方法
  4. 腾讯云cos上传及获取
  5. 微信小程序开发之简易计算器
  6. 来自 LOL 营运商劲舞娱乐对于北捷事件的声明稿
  7. Apache 软件基金会欢庆20周年:由社区驱动发展的“Apache 之道”
  8. 面向对象行为型模式(go语言)
  9. 联想拯救者系列,开机动画定制出现,【系统分区的功能异常,建议联系售后】的解决方案
  10. Linux文件命令精通指南(三)(转)