java字符串替换字符串_javastring字符串替换
i、replace⽅法
该⽅法的作⽤是替换字符串中所有指定的字符,然后⽣成⼀个新的字符串。经过该⽅法调⽤以后,原来的字符串不发⽣改变。例如:
String s = “abcat”;
String s1 = s.replace(‘a’,‘1’);
该代码的作⽤是将字符串s中所有的字符a替换成字符1,⽣成的新字符串s1的值是“1bc1t”,⽽字符串s的内容不发⽣改变。
如果需要将字符串中某个指定的字符串替换为其它字符串,则可以使⽤replaceAll⽅法,例如:
String s = “abatbac”;
String s1 = s.replaceAll(“ba”,“12”);
该代码的作⽤是将字符串s中所有的字符串“ab”替换为“12”,⽣成新的字符串“a12t12c”,⽽字符串s的内
容也不发⽣改变。
如果只需要替换第⼀个出现的指定字符串时,可以使⽤replaceFirst⽅法,例如:
String s = “abatbac”;
String s1 = s. replaceFirst (“ba”,“12”);
该代码的作⽤是只将字符串s中第⼀次出现的字符串“ab”替换为字符串“12”,则字符串s1的值是“a12tbac”,字符串s的内容也不发⽣改变。
replace和replaceAll是JAVA中常⽤的替换字符的⽅法,它们的区别是:
1)replace的参数是char和CharSequence,即可以⽀持字符的替换,也⽀持字符串的替换(CharSequence即字符串序列的意思,说⽩了也就是字符串);
2)replaceAll的参数是regex,即基于规则表达式的替换,⽐如,可以通过replaceAll("\\d", "*")把⼀个字符串所有的数字字符都换成星号;
相同点是都是全部替换,即把源字符串中的某⼀字符或字符串全部换成指定的字符或字符串,如果只
想替换第⼀次出现的,可以使⽤replaceFirst(),这个⽅法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第⼀次出现的字符串;
另外,如果replaceAll()和replaceFirst()所⽤的参数据不是基于规则表达式的,则与replace()替换字符串的效果是⼀样的,即这两者也⽀持字符串的操作;
还有⼀点注意:执⾏了替换操作后,源字符串的内容是没有发⽣改变的.
举例如下:
java replace方法String src = new String("ab43a2c43d");
System.out.place("3","f"));=>ab4f2c4fd.
System.out.place('3','f'));=>ab4f2c4fd.
System.out.placeAll("\\d","f"));=>abffafcffd.
System.out.placeAll("a","f"));=>fb43fc23d.
System.out.placeFirst("\\d,"f"));=>abf32c43d
System.out.placeFirst("4","h"));=>abh32c43d.
如何将字符串中的"\"替换成"\\":
String msgIn;
String msgOut;
placeAll("\\\\","\\\\\\\\");
原因:
'\'在java中是⼀个转义字符,所以需要⽤两个代表⼀个。例如System.out.println( "\\" ) ;只打印出⼀个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要⽤两个代表⼀个。所以:\\\\被java转换成\\,\\⼜被正则表达式转换成\。
同样
CODE: \\\\\\\\
Java: \\\\
Regex: \\
将字符串中的'/'替换成'\'的⼏种⽅式:
msgOut= placeAll("/", "\\\\");
msgOut= place("/", "\\");
msgOut= place('/', '\\');
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论