您的位置:首页 > 其它

String类的replace和replaceAll的区别

2011-04-13 23:14 162 查看
前者只是一普通的字符号串替换,后者是一个支持正则表达式的替换

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: