首先明确下replace,replaceAll,replaceFirst的参数
String java.lang.String.replace(CharSequence target, CharSequence replacement)
String java.lang.String.replaceAll(String regex, String replacement)
String java.lang.String.replaceFirst(String regex, String replacement)
replaceAll 和 replaceFirst 第一个参数是正则表达式。
replaceAll
public static void main(String[] args) {
String str = "AAA.BBBw.CCC";
// \w 在正则表达式匹配任何字类字符,包括下划线。与"[A-Za-z0-9_]"等效。
String str2 = str.replaceAll("\\w", "T");
System.out.println(str2); //结果 TTT.TTTT.TTT
// w 在正则表达式代表单个 w
String str3 = str.replaceAll("w", "T");
System.out.println(str3);//结果 AAA.BBBT.CCC
// . 在正则表达式匹配除"\r\n"之外的任何单个字符
String str4 = str.replaceAll(".", "T");
System.out.println(str4);// 结果 TTTTTTTTTTTT
// \\. --》 \. \为转义符,正则中代表匹配 .
String str5 = str.replaceAll("\\.", "T");
System.out.println(str5);//AAATBBBwTCCC
}
replace
public static void main(String[] args) {
// \\转译成\ \\w 和 \\. 匹配原字符串的 \\w 和 \\.
String str = "AAA\\.BBBw.CCC\\w";
System.out.println(str);//AAA\.BBBw.CCC\w
System.out.println(str.replace("\\w", "R"));//AAA\.BBBw.CCCR
System.out.println(str.replace("w", "R"));//AAA\.BBBR.CCC\R
System.out.println(str.replace("\\.", "R"));//AAARBBBw.CCC\w
System.out.println(str.replace(".", "R"));//AAA\RBBBwRCCC\w
}