replace 与 replaceAll
这下懵了,然后老老实实看了下 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相关推荐
- String 方法中 replace 和 replaceAll 的区别详解(源码分析)
replace() 和 replaceAll() 都是常用的替换字符串的方法: 两者都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串. 如果只想替换第一次出现的,可以使用 re ...
- java中replace()和replaceAll()区别
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharS ...
- java replaceall lt,JAVA中替换字符的方法replace和replaceAll 区别
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1.replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharS ...
- android String的replace和replaceAll的使用
今天,讲讲字符串中的替换字符的代码的使用. 一.replace的使用 声明 以下是Java.lang.String.replace()方法的声明 public String replace(char ...
- java中String字符串的替换函数:replace与replaceAll的区别
例如有如下x的字符串 String x = "[kllkklk\\kk\\kllkk]"; 要将里面的"kk"替换为++,可以使用两种方法得到相同的结果 rep ...
- replace和replaceAll的区别
String对象中的replace和replaceAll的区别? replace方法:支持字符和字符串的替换. public String replace(char oldChar, char new ...
- JS之replace与replaceAll
replace(被替换的,替换) replace归属于String对象,用于替换字符串. 有两个参数,第一个参数是被替换的,第二个是替换的.将什么什么替换为什么什么.例如: str.replace(' ...
- replace、replaceAll、replaceFirst的区别
大家可能都使用过replace来替换字符串,其实在大多数人的认知里,replace和replacAll的区别就是:一个是替换全部,一个是替换单个... 其实这个认知是错误的!本质上来说replace和 ...
- JAVA中REPLACE和REPLACEALL的区别(转)
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharS ...
最新文章
- 编写程序python、实现将矩阵顺时针旋转90°_Java实现矩阵顺时针旋转90度的示例...
- [置顶] 贝叶斯分类(一)
- 未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序...
- python 文件指针在文件末尾_python文件操作及seek偏移详解
- MongoDB Shell操作
- C语言基础知识----注意事项
- CSS Sprites原理
- 基于Verilog的4-PAM
- QQ游戏连连看的脚本
- 地球上最厉害的字体:Helvetica
- Highcharts exporting属性实现图表导出为图片、PDF
- 迅雷离线下载怎么使用?迅雷离线下载使用方法
- MATLAB输出四种常用波形(方波、正弦波、三角波、锯齿波)
- file_get_contents 访问 ssl 错误的两种解决方法
- 2022年湖南医院三基考试泌尿外科综合模拟题及答案
- Committer 蔡正昕专访:勇敢迈出第一步,做开源没有那么难
- 【转】“百度被黑” 分析师认为不亚于制造“911事件”
- 安装H3C Cloud Lab(HCL)时遇到的问题及解决办法汇总
- 波的干涉(大学物理笔记)
- 怎么把dns服务器改成自动,如何设置电脑上的DNS服务器自动获取
热门文章
- 「镁客早报」特斯拉标准版Model3正式上市,售价3.5万美元;百度被爆搜索小学和幼儿园会导向色情网站...
- [项目管理]管理杂谈—三个火枪手
- 一文看懂电容的种类及其在电路中的作用
- Python3网络爬虫使用User Agent和代理IP隐藏身份
- 7-6 哲哲打游戏 (25 分)
- L2-040 哲哲打游戏 - java
- dependency problems
- word 中 ctrl+v不能使用问题
- 超越 GPT-3,DeepMind 推出新宠 Gato,却被质疑“换汤不换药”?
- python正则表达式提取电话号码区号_Python学习笔模式匹配与正则表达式之电话号码和Email地址提取程序...