1. 程式人生 > >Java replaceAll不區分大小寫

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.         System.out.println(input);  
  6.         System.out.println(input.replaceAll("(?i)java"
    , replacement));  
  7.     }  

 測試結果:

 

方式二:使用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.         StringBuffer sb =replaceAll2(input, regex, replacement);  
  7.         System.out.println(input);  
  8.         System.out.println(sb);  
  9.     }  
  10.     /*** 
  11.      * replaceAll,忽略大小寫 
  12.      * @param input 
  13.      * @param regex 
  14.      * @param replacement 
  15.      * @return 
  16.      */  
  17.     public StringBuffer replaceAll2(String input,String regex,String replacement){  
  18.          Pattern p = Pattern.compile(regex,Pattern.CASE_INSENSITIVE);  
  19.             Matcher m = p.matcher(input);  
  20.             StringBuffer sb = new StringBuffer();  
  21.             boolean result = m.find();  
  22.             while (result)  
  23.             {  
  24.                 m.appendReplacement(sb, replacement);  
  25.                 result = m.find();  
  26.             }  
  27.             m.appendTail(sb);  
  28.             return sb;  
  29.     }  

 測試結果:

 

方式三:使用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.     @Test  
  16.     public void test_replaceAll3() {  
  17.         String input = "I like Java,jAva is very easy and jaVa is so popular.";  
  18.         String regex = "java";  
  19.         String replacement = "cccc";  
  20.         String sb = replaceAll3(input, regex, replacement);  
  21.         System.out.println(input);  
  22.         System.out.println(sb);  
  23.     }  

 測試結果:

參考:http://hw1287789687.iteye.com/blog/2150892