这下懵了,然后老老实实看了下 replaceAll 的说明:

Replaces each substring of this string that matches the given regular expression with the given replacement.

replaceAll 实现方式:

意思很明显,第一个参数 regex 是正则表达式,这个方法的作用就是用 replacement 去替换所有满足 regex的内容。而也是正则表达式的关键字符,因此这里没有经过处理直接使用就出现了参数问题。

这里我对正则表达式了解的不多,也就没有深究 replaceAll 方法了,转而看了下 replace 的说明和实现:

这里意思就是说,替换每一个满足条件的字串。而且替换过程是从字符串开始到结束单向的,不会出现倒退;比如说:在里面用替换,结果是,而不是。用也就是说 replace 和 replaceAll 不是字面意思,它俩都是替换所有满足条件的内容

另外,这里replace的实现方式也非常严谨,对的情况也进行了处理,处理方式是在原字串首尾和其所有字符之间都添加 replacement。举个栗子:

结果是:

小结

1、replace 和 replaceAll 都是替换所有满足条件的内容,只不过replace的匹配条件是普通的字串,而replaceAll的匹配条件是正则表达式。

2、当要被处理的字符串比较庞大时,replaceAll 的效率总是比 replace 的快一些;当字符串量不大时,二者效率不相上下。

3、当字符串无法确定是否具有转义字符时,而且也不需要转义时,建议使用 replace 函数;否则,使用 replaceAll 函数。

replace 与 replaceAll相关推荐

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

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

  2. java中replace()和replaceAll()区别

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

  3. java replaceall lt,JAVA中替换字符的方法replace和replaceAll 区别

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

  4. android String的replace和replaceAll的使用

    今天,讲讲字符串中的替换字符的代码的使用. 一.replace的使用 声明 以下是Java.lang.String.replace()方法的声明 public String replace(char ...

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

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

  6. replace和replaceAll的区别

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

  7. JS之replace与replaceAll

    replace(被替换的,替换) replace归属于String对象,用于替换字符串. 有两个参数,第一个参数是被替换的,第二个是替换的.将什么什么替换为什么什么.例如: str.replace(' ...

  8. replace、replaceAll、replaceFirst的区别

    大家可能都使用过replace来替换字符串,其实在大多数人的认知里,replace和replacAll的区别就是:一个是替换全部,一个是替换单个... 其实这个认知是错误的!本质上来说replace和 ...

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

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

最新文章

  1. 编写程序python、实现将矩阵顺时针旋转90°_Java实现矩阵顺时针旋转90度的示例...
  2. [置顶] 贝叶斯分类(一)
  3. 未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序...
  4. python 文件指针在文件末尾_python文件操作及seek偏移详解
  5. MongoDB Shell操作
  6. C语言基础知识----注意事项
  7. CSS Sprites原理
  8. 基于Verilog的4-PAM
  9. QQ游戏连连看的脚本
  10. 地球上最厉害的字体:Helvetica
  11. Highcharts exporting属性实现图表导出为图片、PDF
  12. 迅雷离线下载怎么使用?迅雷离线下载使用方法
  13. MATLAB输出四种常用波形(方波、正弦波、三角波、锯齿波)
  14. file_get_contents 访问 ssl 错误的两种解决方法
  15. 2022年湖南医院三基考试泌尿外科综合模拟题及答案
  16. Committer 蔡正昕专访:勇敢迈出第一步,做开源没有那么难
  17. 【转】“百度被黑” 分析师认为不亚于制造“911事件”
  18. 安装H3C Cloud Lab(HCL)时遇到的问题及解决办法汇总
  19. 波的干涉(大学物理笔记)
  20. 怎么把dns服务器改成自动,如何设置电脑上的DNS服务器自动获取

热门文章

  1. 「镁客早报」特斯拉标准版Model3正式上市,售价3.5万美元;百度被爆搜索小学和幼儿园会导向色情网站...
  2. [项目管理]管理杂谈—三个火枪手
  3. 一文看懂电容的种类及其在电路中的作用
  4. Python3网络爬虫使用User Agent和代理IP隐藏身份
  5. 7-6 哲哲打游戏 (25 分)
  6. L2-040 哲哲打游戏 - java
  7. dependency problems
  8. word 中 ctrl+v不能使用问题
  9. 超越 GPT-3,DeepMind 推出新宠 Gato,却被质疑“换汤不换药”?
  10. python正则表达式提取电话号码区号_Python学习笔模式匹配与正则表达式之电话号码和Email地址提取程序...