String类的replace和replaceAll的区别

前者只是一普通的字符号串替换,后者是一个支持正则表达式的替换

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;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值