String replace()和replaceAll()之间的区别除了以后使用正则表达式之外,java.lang.String replace()和replaceAll()方法之间有什么区别?对于简单的换人一样,代替.用/ ,有什么不同?
3 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
在java.lang.String
,该replace
方法要么采用一对char或一对CharSequence
(其中String是一个子类,所以它很乐意接受一对String)。该replace
方法将替换所有出现的char或CharSequence
。在另一方面,这两个String
参数replaceFirst
和replaceAll
正则表达式(正则表达式)。使用错误的功能可能会导致细微的错误。
慕丝7291255
TA贡献1859条经验 获得超6个赞
该replace()
方法被重载以接受基元char
和CharSequence
作为参数。
现在就性能而言,该replace()
方法比replaceAll()
后者首先编译正则表达式模式然后在最终替换之前匹配而后者只是匹配所提供的参数并替换时快一点。
因为我们知道正则表达式模式匹配是一个稍微复杂一些,因此速度较慢,则宁愿replace()
过replaceAll()
建议只要有可能。
例如,对于您提到的简单替换,最好使用:
replace('.', '\\');
代替:
replaceAll("\\.", "\\\\");
注意:上述转换方法参数与系统有关。
添加回答
举报
0/150
提交
取消