说明 : indexOf、replace方法对于 . 不需要转义, 而split方法需要转义
public static void main(String[] args) {
System.err.println("indexOf1: " + ("sd.sf".indexOf("\\.") != -1)); // ✘
System.err.println("indexOf2: " + ("sd.sf".indexOf("[.]") != -1)); // ✘
System.err.println("indexOf3: " + ("sd.sf".indexOf(".") != -1)); // √
System.err.println();
System.err.println("split1: " + ("sd.sf".split("\\.").length)); // √
System.err.println("split2: " + ("sd.sf".split("[.]").length)); // √
System.err.println("split3: " + ("sd.sf".split(".")).length); // ✘
System.err.println();
System.err.println("replace1: " + ("sd.sf".replace("\\.", "11"))); // ✘
System.err.println("replace2: " + ("sd.sf".replace("[.]", "11"))); // ✘
System.err.println("replace3: " + ("sd.sf".replace(".", "11"))); // √
}
结果打印
indexOf1: false
indexOf2: false
indexOf3: true
split1: 2
split2: 2
split3: 0
replace1: sd.sf
replace2: sd.sf
replace3: sd11sf
END。