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

 测试结果:

 

 

方式二:使用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.     }  

 测试结果:

 

 

方式三:使用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.     }  

 测试结果:

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

相关文章
|
13天前
|
JSON 前端开发 Java
【Bug合集】——Java大小写引起传参失败,获取值为null的解决方案
类中成员变量命名问题引起传送json字符串,但是变量为null的情况做出解释,@Data注解(Spring自动生成的get和set方法)和@JsonProperty
|
1月前
|
监控 Java 数据库连接
Java线程管理:守护线程与用户线程的区分与应用
在Java多线程编程中,线程可以分为守护线程(Daemon Thread)和用户线程(User Thread)。这两种线程在行为和用途上有着明显的区别,了解它们的差异对于编写高效、稳定的并发程序至关重要。
40 2
|
2月前
|
Oracle 安全 Java
深入理解Java生态:JDK与JVM的区分与协作
Java作为一种广泛使用的编程语言,其生态中有两个核心组件:JDK(Java Development Kit)和JVM(Java Virtual Machine)。本文将深入探讨这两个组件的区别、联系以及它们在Java开发和运行中的作用。
110 1
|
8月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
123 0
|
5月前
|
Java
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
Java模拟文件发送给服务器,服务器将文件转发给其他用户,并保存到服务器本地,其他用户可以接收,并保存到本地磁盘,支持各种文件格式,并解决通信中服务器怎么区分客户端发来的文件类型
|
6月前
|
Java
Java 替换字符串 replace replaceAll
【7月更文挑战第10天】Java 替换字符串 replace replaceAll
Java 替换字符串 replace  replaceAll
|
8月前
|
存储 Java
Java代码实现单词大小写
Java代码实现单词大小写
68 0
java contains忽略大小写
java contains忽略大小写
112 2
|
8月前
|
JSON Java fastjson
Java【问题 06】一次解决JSON.toJSONString和@RestController首字母大小写问题(特指属性首字母大写变小写)
Java【问题 06】一次解决JSON.toJSONString和@RestController首字母大小写问题(特指属性首字母大写变小写)
666 0
|
8月前
|
Oracle Java 关系型数据库
Java【代码分享 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写)
Java【代码分享 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写)
360 0