replace和replaceAll是JAVA中常用的替换字符的方法

  • public String replace(char oldChar, char newChar)         在字符串中用newChar字符替代oldChar字符,返回一个新的字符串
  • public String replaceAll(String regex,String replacement)使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。

区别:

1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);

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

相同点:

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

另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;

还有一点注意::执行了替换操作后,源字符串的内容是没有发生改变的。

 

举例如下:  

String src = new String("ab43a2c43d");     
System.out.println(src.replace("3","f"));=>ab4f2c4fd.     
System.out.println(src.replace('3','f'));=>ab4f2c4fd.     
System.out.println(src.replaceAll("\\d","f"));=>abffafcffd.    
System.out.println(src.replaceAll("a","f"));=>fb43fc23d.    
System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d
System.out.println(src.replaceFirst("4","h"));=>abh32c43d. 

如何将字符串中的"\"替换成"\\": 

String msgIn;     
String msgOut;     
msgOut=msgIn.replaceAll("\\\\","\\\\\\\\"); 

原因:'\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一个"\"。

       但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。

同样

  CODE: \\\\\\\\

  Java: \\\\

  Regex: \\

将字符串中的'/'替换成'\'的几种方式:

msgOut= msgIn.replaceAll("/", "\\\\");     
msgOut= msgIn.replace("/", "\\");     
msgOut= msgIn.replace('/', '\\'); 

java replace和replaceAll的区别以及用法相关推荐

  1. java replaceall函数_JAVA中string.replace和string.replaceAll的区别及用法

    展开全部 JAVA中string.replace()和string.replaceAll()的区别及用法乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),32 ...

  2. JAVA中string.replace()和string.replaceAll()的区别及用法 数据库中[]转义

    JAVA中string.replace()和string.replaceAll()的区别及用法 乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replac ...

  3. replace和replaceAll的区别

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

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

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

  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. String 方法中 replace 和 replaceAll 的区别详解(源码分析)

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

  9. 深入研究 Java Synchronize 和 Lock 的区别与用法

    在分布式开发中,锁是线程控制的重要途径.Java为此也提供了2种锁机制,synchronized和lock.做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方. ...

最新文章

  1. Python中输出字体的颜色设置
  2. 【知识星球】有没有网络模型是动态变化的,每次用的时候都不一样?
  3. java的整型_java 整型
  4. 如何预防后台被攻击?Tomcat 的安全配置来啦!
  5. Netty 核心组件 Pipeline 源码分析(二)一个请求的 pipeline 之旅
  6. 2 测试方法与理论 - 软件测试
  7. Centos7安装Docker后无法启动:Failed to program NAT chain: INVALID_ZONE: docker
  8. 智头条 | 四部门:2025年建立500家智能家居体验中心,小米发布人形仿生机器人,2022光亚展智能成主角
  9. Windows找不到文件‘Chrome‘。请确定文件名是否正确后,再试一次
  10. 剪切板的使用: 复制 粘贴
  11. 计算机冗余,惯性导航计算机系统冗余设计
  12. php.ini 关闭输出缓冲,php 输出缓冲 Output Control用法实例详解
  13. 使用Java实现矩形 平行四边形 等腰三角形 菱形 倒三角
  14. 什么是强化学习,强化学习在控制系统中的应用以及matlab强化学习工具箱的介绍
  15. Confluence7 配置docker Nginx https 反向代理
  16. 庞加莱 (Jules Henri Poincaré)
  17. 区块链珠宝溯源,解决珠宝行业信任危机
  18. 2023美国大学生数学建模竞赛(美赛)E题解读思路基本模型
  19. vegas pro 记录
  20. 深度linux系统能玩dota1吗,deepin能玩Dota2吗(deepin支持的游戏)

热门文章

  1. 使用html制作表格及文本框,html,表格和表单
  2. Win10下如何在右键新建菜单中添加.md文件?
  3. Object用法总结
  4. qtp11与java_11.5 QTP对象识别
  5. java实现简易计算器完整代码
  6. html2canvas
  7. radix-4 FFT 原理和C语言代码实现
  8. 【首次送书福利】html+css+js制作动态千纸鹤
  9. 一个新闻列表的小例子
  10. Linux学习有用吗?学习用linux