首页 > 搜索 > 王者荣耀上不去replace,java中replace和replaceAll的区别

王者荣耀上不去replace,java中replace和replaceAll的区别

互联网 2021-06-16 21:17:57

1)replace的参数是char和CharSequence%2c即可以支持字符的替换%2c也支持字符串的替换(CharSequence即字符串序列的意 思%2c说白了也就是字符串);2)replaceAll的参数是regex%2c即基于规则表达式的替换%2c比如%2c可以通过replaceAll("\\d"%2c "*")把一个字符串所有的数字字符都换成星号;

    相同点是都是全部替换%2c即把源字符串中的某一字符或字符串全部换成指定的字符或字符串%2c如果只想替换第一次出现的%2c可以使用 replaceFirst()%2c这个方法也是基于规则表达式的替换%2c但与replaceAll()不同的是%2c只替换第一次出现的字符串;    另外%2c如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的%2c则与replace()替换字符串的效果是一样 的%2c即这两者也支持字符串的操作;    还有一点注意:执行了替换操作后%2c源字符串的内容是没有发生改变的.

举例如下:       

 

写道

 

String src = new String("ab43a2c43d"); System.out.println(src.replace("3"%2c"f"));=>ab4f2c4fd. System.out.println(src.replace('3'%2c'f'));=>ab4f2c4fd. System.out.println(src.replaceAll("\\d"%2c"f"));=>abffafcffd. System.out.println(src.replaceAll("a"%2c"f"));=>fb43fc23d. System.out.println(src.replaceFirst("\\d%2c"f"));=>abf32c43d System.out.println(src.replaceFirst("4"%2c"h"));=>abh32c43d.

 

如何将字符串中的"\"替换成"\\":

 

写道

 

String msgIn; String msgOut; msgOut=msgIn.replaceAll("\\\\"%2c"\\\\\\\\");

 

原因:         '\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\%2c\\又被正则表达式转换成\。同样

 

Java代码   收藏代码 CODE: \\\\\\\\   Java: \\\\   Regex: \\   

 

将字符串中的'/'替换成'\'的几种方式:

 

Java代码   收藏代码 msgOut= msgIn.replaceAll("/"%2c "\\\\");   msgOut= msgIn.replace("/"%2c "\\");   msgOut= msgIn.replace('/'%2c '\\');   

http://zlk.iteye.com/blog/681606

 

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。

一周热门

查看更多