前者只是一普通的字符号串替换,后者是一个支持正则表达式的替换
eg:
String str = "2008.1.12";
现有需要将字符串中的"."替换为"_"。
一种方法是老老实实使用str.replace(".","_");
若是使用str.replaceAll(".","_")
那str中所有字符均会被替换为"_"。
因为在正则表达式中,"."代表任意字符。
正确做法是在replaceAll的第一个参数中使用转义构造正确的正则表达式。
如:
str.replaceAll("//.","_");
replaceAll使用范例:
public static String dateToFileName(String date) {
String separator = "_";
date = date.replaceAll(" ", separator);
date = date.replaceAll("//.", separator);
date = date.replaceAll(":", separator);
date = date.replaceAll("-", separator);
date = date.replaceAll("/", separator);
return date;
}
本文详细介绍了在Java中如何使用普通字符串替换方法与支持正则表达式的替换方法。通过实例演示了如何正确使用replaceAll方法进行字符串处理,避免常见的陷阱,并展示了在日期格式转换等应用场景中的实用技巧。
358

被折叠的 条评论
为什么被折叠?



