String的替换方法
字符串的替换方法有replace,repalceAll,replaceFirst,三种替换方法,第一种和第二种区别不是很大,都会将相同的字符串全部替换,只是repalceAll会按正则表达式去匹配,所以使用repalceAll的时候一定要注意转义字符,这些问题比较简单,我们不去做详细的介绍;下面我们看replaceFirst,replaceFirst是替换匹配到字符串中第一次出现的字符串如“abcdabc”,我们要替换“abc”为“xyz”,则结果为“xyzdabc”;但是如果中间含有转义字符,直接使用情况就不一样了;
测试示例
String str1 = "物料明细|红旗汽车";
String[] split = str1.split("\\|");
String replace = str1.replace(str1, split[0]);
System.out.println(replace);
String replaceFirst1 = str1.replaceFirst(str1, split[1]);
System.out.println(replaceFirst1);
String replaceFirst2 = str1.replaceFirst(split[0] + "|" + split[1], split[1]);
System.out.println(replaceFirst2);
测试结果
物料明细
红旗汽车|红旗汽车
红旗汽车
测试总结
通过测试我们发现含有转义字符“|”,repalce直接就替换了,但是replaceFirst并没有替换为我们想要的结果,只是将转义字符“|”前面的替换,后面的继续保留,但是经过我们将转义符处理之后,发现达到期望值;后面将转义符“|”更换为“$”,“*”等具有同样的效果!