浅谈replaceAll的用法

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('/', '\\');

参考链接: https://blog.csdn.net/anmoyyh/article/details/70673812

浅谈replaceAll的用法相关推荐

  1. 浅谈wcscpy_s之用法

    wcscpy_s是一个能够拷贝宽字符类型字符串的安全函数.它返回一个error_t类型的值. wcscpy_s的函数原型为: 1 error_t wcscpy_s(wchar_t *strDestin ...

  2. 浅谈response.setHeader()用法

    1. HTTP消息头 (1)通用信息头 即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Pragma 主要: Cache-Control , Connecti ...

  3. 浅谈Linux中ldconfig和ldd的用法

    ldd 查看程序依赖库 ldd 作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题. 示例:查看test程序运行所依赖的库: /opt/app/todeav1/te ...

  4. python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法

    浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...

  5. php字面量,浅谈js之字面量、对象字面量的访问、关键字in的用法

    一:字面量含义 字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量. 字面量分为字符串字面量(string literal ).数组字面量(array literal) ...

  6. 浅谈verilog hdl中parameter的用法

    浅谈verilog hdl中parameter的用法 parameter 1.parameter参数使用 事例1: 事例2: 事例3 事例4 2.defparam使用 事例5 3.parameter与 ...

  7. css inport作用,浅谈css和@import区别及用法详解

    下面小编就为大家带来一篇浅谈css和@import区别及用法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 css和@import都是调用外部样式表的方法. 一.用法 ...

  8. 浅谈C++中memset函数的用法

    浅谈C++中memset函数的用法 memset函数的头文件是cstring, 实际上是一个字符串处理函数,但常用于给静态数组(不是new出来的数组)赋特定初值. #include<cstrin ...

  9. float在html语言中的用法,[html5入门-4]浅谈html5中float的用法

    html5的文档布局方式一般有流式布局,浮动布局,固定布局和弹性布局等几种方式,本文主要浅谈一下浮动布局在html5中的用法. 一.float定义 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框 ...

最新文章

  1. 网络工程师_记录的一些真题_2016上半年上午
  2. 数字数据fzu 2120 数字排列
  3. oracle expdp导出教程,Oracle Expdp Impdp 数据泵导入导出
  4. CNCF推出云原生网络功能(CNF)Testbed
  5. Mysql创建、删除用户、用户管理等相关:转载http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html
  6. 用PyQt实现透明桌面时钟小部件
  7. 【Python基础知识-pycharm版】第九节_面向对象的三大特征
  8. linux 源代码gcc安装,linux下源码安装GCC
  9. project安装包_Project项目计划进度可编辑模板及安装包免费获取
  10. vs2015上的html可以编译,libcef编译使用--使用VS2015
  11. sd卡umount时busy解决方法
  12. ISP Pipeline AWB
  13. 小米13,红米K6,vivo S16,一加11,IQOO11安装谷歌Play商店,安装框架服务谷歌Google
  14. 《大象 Thinking in UML》学习笔记(一)——为什么需要UML?
  15. 计算Fisher信息之Part(二)
  16. 基于MFRC522的门禁系统的设计与实现
  17. %3c大自然的语言%3e竺可桢题目,大自然的语言 竺可桢阅读附答案
  18. Tomb.Finance的每周更新(5.23-5.29)
  19. 计算机网络系统有哪些核心技术,超级计算机的核心技术是什么
  20. 计算机辅助技术论文,计算机辅助设计技术论文(2)

热门文章

  1. UE4入门-常见基本数据类型-字符串(备忘)
  2. nginx配置文件详解(三)
  3. 从小猴摘桃子问题引发的斐波那契数列与递归的思考
  4. 小东吖 之 java 类的多态
  5. 如何在gazebo仿真环境中给sumit_xl模型添加多线激光雷达
  6. Flutter Json对象和数组解析成实体类
  7. 如何减少电壁挂炉的电用量—五妙招教你巧省电
  8. JAVA Hashset求集合的交集并集差集
  9. 机器学习聚类——实验报告
  10. 【激光雷达点云障碍物检测】综述