java replace和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('/', '\\');
java replace和replaceAll的区别以及用法相关推荐
- java replaceall函数_JAVA中string.replace和string.replaceAll的区别及用法
展开全部 JAVA中string.replace()和string.replaceAll()的区别及用法乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),32 ...
- JAVA中string.replace()和string.replaceAll()的区别及用法 数据库中[]转义
JAVA中string.replace()和string.replaceAll()的区别及用法 乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replac ...
- replace和replaceAll的区别
String对象中的replace和replaceAll的区别? replace方法:支持字符和字符串的替换. public String replace(char oldChar, char new ...
- java中String字符串的替换函数:replace与replaceAll的区别
例如有如下x的字符串 String x = "[kllkklk\\kk\\kllkk]"; 要将里面的"kk"替换为++,可以使用两种方法得到相同的结果 rep ...
- JAVA中REPLACE和REPLACEALL的区别(转)
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharS ...
- java中replace和replaceAll的区别
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharS ...
- Java中的Replace和ReplaceAll的区别
replace和replaceAll是String类中提供的两种用于字符/字符串替换的方法.如果只从字面意思理解,很容易误解为replace表示替换单个匹配项,而replaceAll表示替换所有匹配项 ...
- String 方法中 replace 和 replaceAll 的区别详解(源码分析)
replace() 和 replaceAll() 都是常用的替换字符串的方法: 两者都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串. 如果只想替换第一次出现的,可以使用 re ...
- 深入研究 Java Synchronize 和 Lock 的区别与用法
在分布式开发中,锁是线程控制的重要途径.Java为此也提供了2种锁机制,synchronized和lock.做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方. ...
最新文章
- Python中输出字体的颜色设置
- 【知识星球】有没有网络模型是动态变化的,每次用的时候都不一样?
- java的整型_java 整型
- 如何预防后台被攻击?Tomcat 的安全配置来啦!
- Netty 核心组件 Pipeline 源码分析(二)一个请求的 pipeline 之旅
- 2 测试方法与理论 - 软件测试
- Centos7安装Docker后无法启动:Failed to program NAT chain: INVALID_ZONE: docker
- 智头条 | 四部门:2025年建立500家智能家居体验中心,小米发布人形仿生机器人,2022光亚展智能成主角
- Windows找不到文件‘Chrome‘。请确定文件名是否正确后,再试一次
- 剪切板的使用: 复制 粘贴
- 计算机冗余,惯性导航计算机系统冗余设计
- php.ini 关闭输出缓冲,php 输出缓冲 Output Control用法实例详解
- 使用Java实现矩形 平行四边形 等腰三角形 菱形 倒三角
- 什么是强化学习,强化学习在控制系统中的应用以及matlab强化学习工具箱的介绍
- Confluence7 配置docker Nginx https 反向代理
- 庞加莱 (Jules Henri Poincaré)
- 区块链珠宝溯源,解决珠宝行业信任危机
- 2023美国大学生数学建模竞赛(美赛)E题解读思路基本模型
- vegas pro 记录
- 深度linux系统能玩dota1吗,deepin能玩Dota2吗(deepin支持的游戏)