• Java replaceAll不区分大小写


    Java 中replaceAll如何忽略大小写呢?

    方式一:在正则表达式前面添加(?i)

    Java代码 复制代码 收藏代码
    1. @Test  
    2.     public void test_replaceAll33(){  
    3.         String input = "I like Java,jAva is very easy and jaVa is so popular.";  
    4.         String replacement="cccc";  
    5.   
    6.         System.out.println(input);  
    7.         System.out.println(input.replaceAll("(?i)java", replacement));  
    8.     }  
    @Test
    	public void test_replaceAll33(){
    		String input = "I like Java,jAva is very easy and jaVa is so popular.";
    		String replacement="cccc";
    
    		System.out.println(input);
    		System.out.println(input.replaceAll("(?i)java", replacement));
    	}

     测试结果:  

    方式二:使用Matcher 的appendReplacement 方法

    Java代码 复制代码 收藏代码
    1. @Test  
    2.     public void test_replaceAll(){  
    3.         String input = "I like Java,jAva is very easy and jaVa is so popular.";  
    4.         String regex = "java";  
    5.         String replacement="cccc";  
    6.           
    7.         StringBuffer sb =replaceAll2(input, regex, replacement);  
    8.         System.out.println(input);  
    9.         System.out.println(sb);  
    10.   
    11.     }  
    12.     /*** 
    13.      * replaceAll,忽略大小写 
    14.      * @param input 
    15.      * @param regex 
    16.      * @param replacement 
    17.      * @return 
    18.      */  
    19.     public StringBuffer replaceAll2(String input,String regex,String replacement){  
    20.          Pattern p = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);  
    21.             Matcher m = p.matcher(input);  
    22.             StringBuffer sb = new StringBuffer();  
    23.             boolean result = m.find();  
    24.             while (result)  
    25.             {  
    26.                 m.appendReplacement(sb, replacement);  
    27.                 result = m.find();  
    28.             }  
    29.             m.appendTail(sb);  
    30.             return sb;  
    31.     }  
    @Test
    	public void test_replaceAll(){
    		String input = "I like Java,jAva is very easy and jaVa is so popular.";
            String regex = "java";
            String replacement="cccc";
            
            StringBuffer sb =replaceAll2(input, regex, replacement);
            System.out.println(input);
            System.out.println(sb);
    
    	}
    	/***
    	 * replaceAll,忽略大小写
    	 * @param input
    	 * @param regex
    	 * @param replacement
    	 * @return
    	 */
    	public StringBuffer replaceAll2(String input,String regex,String replacement){
    		 Pattern p = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);
    	        Matcher m = p.matcher(input);
    	        StringBuffer sb = new StringBuffer();
    	        boolean result = m.find();
    	        while (result)
    	        {
    	            m.appendReplacement(sb, replacement);
    	            result = m.find();
    	        }
    	        m.appendTail(sb);
    	        return sb;
    	}

     测试结果:  

    方式三:使用Matcher 的replaceAll

    Java代码 复制代码 收藏代码
    1. /*** 
    2.      * replaceAll,忽略大小写 
    3.      *  
    4.      * @param input 
    5.      * @param regex 
    6.      * @param replacement 
    7.      * @return 
    8.      */  
    9.     public String replaceAll3(String input, String regex, String replacement) {  
    10.         Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);  
    11.         Matcher m = p.matcher(input);  
    12.         String result = m.replaceAll(replacement);  
    13.         return result;  
    14.     }  
    15.   
    16.     @Test  
    17.     public void test_replaceAll3() {  
    18.         String input = "I like Java,jAva is very easy and jaVa is so popular.";  
    19.         String regex = "java";  
    20.         String replacement = "cccc";  
    21.   
    22.         String sb = replaceAll3(input, regex, replacement);  
    23.         System.out.println(input);  
    24.         System.out.println(sb);  
    25.   
    26.     }  
    /***
    	 * replaceAll,忽略大小写
    	 * 
    	 * @param input
    	 * @param regex
    	 * @param replacement
    	 * @return
    	 */
    	public String replaceAll3(String input, String regex, String replacement) {
    		Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
    		Matcher m = p.matcher(input);
    		String result = m.replaceAll(replacement);
    		return result;
    	}
    
    	@Test
    	public void test_replaceAll3() {
    		String input = "I like Java,jAva is very easy and jaVa is so popular.";
    		String regex = "java";
    		String replacement = "cccc";
    
    		String sb = replaceAll3(input, regex, replacement);
    		System.out.println(input);
    		System.out.println(sb);
    
    	}

     测试结果: 参考:http://hw1287789687.iteye.com/blog/2150892 

  • 相关阅读:
    使用JQUERY UI中的dialog对话框提示,如果点击确认,执行服务端代码的基本代码
    C#开源资源大汇总
    Net下图片的常见存储与读取
    asp.net中各种对像使用jquery的赋值的方式
    js放大图片
    W3C DOM异常对象DOMException介绍
    js创建函数的方式介绍
    实现自定义的input file标签
    SECURITY_ERR:DOM Exception 18:canvas getImageData putImageData问题
    javascript讲解
  • 原文地址:https://www.cnblogs.com/firstdream/p/7832832.html
Copyright © 2020-2023  润新知