replaceAll方法采用的是正则表达式
如果要替换的字符串中有.(小数点)会有问题,因为正则表达式中.(小数点)会匹配任何字符
public String replaceAll(String paramString1, String paramString2)
{
return Pattern.compile(paramString1).matcher(this).replaceAll(paramString2);
}
replace方法采用的是一个一个字符比对的方式
public String replace(char paramChar1, char paramChar2){
if (paramChar1 != paramChar2)
{
int i = this.count;
int j = -1;
char[] arrayOfChar1 = this.value;
int k = this.offset;
do
if (++j >= i)
break;
while (arrayOfChar1[(k + j)] != paramChar1);
if (j < i)
{
char[] arrayOfChar2 = new char[i];
for (char c = '; c < j; ++c)
arrayOfChar2[c] = arrayOfChar1[(k + c)];
while (j < i)
{
c = arrayOfChar1[(k + j)];
arrayOfChar2[j] = ((c == paramChar1) ? paramChar2 : c);
++j;
}
return new String(0, i, arrayOfChar2);
}
}
return this;
}
所以要根据自己的需求采用相应的方式