• Java replace和replaceAll


    package test;
    
    public class ReplaceTest {
        
        public static void main(String[] args) {
            String str1="notice/PublishingImages/第26期(20181112).pdf";
            String str2="notice/PublishingImages/第26期(20181112).pdf";
            String str3="123456.pdf";
            System.out.println("replace:"+str1.replace(str2, str3));//结果:123456.pdf
            System.out.println("replaceAll:"+str1.replaceAll(str2, str3));//结果:notice/PublishingImages/第26期(20181112).pdf
            //此时replaceAll并未出现期待的结果。为什么?
            //replace和replaceAll相同点和区别?
            //1、相同点:替换所有匹配的字符串(都是替换所有)
            //2、不同点:
            //replace支持字符替换,字符串替换
            //replaceAll是正则表达式替换
            String t1="\";
            System.out.println(t1.replace("\", "斜杠"));
            System.out.println(t1.replaceAll("\\", "斜杠"));
            try{
                System.out.println(t1.replaceAll("\", "斜杠"));//正则表达式异常    
            }catch(Exception e){
                System.out.println(e.getMessage());
            }
            //那么notice/PublishingImages/第26期(20181112).pdf怎么用replaceAll替换成123456.pdf呢?
            String str2_new="notice/PublishingImages/第26期\(20181112\)\.pdf";
            //注意正则表达式对特殊字符的转义:'$', '(', ')', '*', '+', '.', '[', ']', '?', '\', '^', '{', '}', '|'
            System.out.println("replaceAll:"+str1.replaceAll(str2_new, str3));
        }
    
    }
  • 相关阅读:
    attachEvent 中this指向
    JS window.name跨域封装
    【javascript基础】8、闭包
    【javascript基础】7、继承
    【javascript基础】6、new与构造函数
    【javascript基础】5、创建对象
    【javascript基础】4、原型与原型链
    【javascript基础】3、变量和作用域
    【javascript基础】2、函数
    【javascript基础】1、基本概念
  • 原文地址:https://www.cnblogs.com/xmqa/p/10275810.html
Copyright © 2020-2023  润新知