Java基础-String中replace
String中replace是我们常用的一个方法,用于替换字符中的字母。
方法java.lang.String#replace(char, char)
入参为char,源码如下:
1 | public String replace(char oldChar, char newChar) { |
总结:
1、如果传入的参数被替换字符、替换一致,直接返回当前字符串对象,如果被替换字符不在当前字符串内,也直接返回当前字符串对象。
2、遍历旧字符数组,通过一个新字符数组存储替换后的字符,返回一个新构建的字符串对象。
方法java.lang.String#replace(java.lang.CharSequence, java.lang.CharSequence)
入参为两个java.lang.CharSequence
。源码如下:
1 | public String replace(CharSequence target, CharSequence replacement) { |
总结:
1、替换字符串是从前往后开始替换,如果先匹配先替换
2、通过Pattern纯粹的字符串替换,对于targe,使用了Pattern.LITERAL
(纯粹视为字符),对于replacement使用了Matcher.quoteReplacement
(对与\和$做转译处理)。
方法java.lang.String#replaceAll
入参为两个String
。源码如下:
1 | public String replaceAll(String regex, String replacement) { |
直接通过传入的正则表达式进行全部的替换。
方法java.lang.String#replaceFirst
入参为两个String
。源码如下:
1 | public String replaceFirst(String regex, String replacement) { |
一样通过正则表达式进行替换,只不过只替换第一个匹配上的。