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

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

  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. }
@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 方法

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

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

Java replaceAll不区分大小写的更多相关文章

  1. java replaceAll Replace

    java ReplaceAll 的两个参数都必须是正则表达式. 在正则表达式中 \ (一个斜线)是用 \\ 来表示(即:用两个斜线表示一个斜线) 而在Java语言中 \ (一个斜线)是用 \\ 来表示 ...

  2. 你真的会用java replaceAll函数吗?

    replace.replaceAll.replaceFirst这三个函数会java的同学估计都用过,笔者已经用了2年多,可是,我们真的懂他们吗? 概述一下他们三个的用法: · replace(Char ...

  3. JavaScript,Java,php的区分大小写问题

    JavaScript 对大小写敏感. JavaScript 对大小写是敏感的.JavaScript属于弱类型语言 当编写 JavaScript 语句时,请留意是否关闭大小写切换键. 函数 getEle ...

  4. java replaceall 使用正则表达式替换单等号,不替换其他相关的等号。

    写项目需要将公式配置到数据库中,取出后根据公式规则进行比较,由于公式的等于是用单等号,在java中无法直接使用,故需要将单等号替换成双等号,单又不能影响大于等于以及其他形式.故果断选择正则表达式替换. ...

  5. java replaceAll之$替换

    最近,在开发一个伪代码翻译工具的过程中,遇到个问题,我们在伪代码中使用spring EL的规则,将非变量限定在${"1"}中,解析后根据上下文的类型转换为相应的java类型.在规则 ...

  6. java replaceall 用法:处理特殊字符

    public class TryDotRegEx { public static void main(String[] args) { // TODO Auto-generated method st ...

  7. 特殊字符导致用正则表达式进行字符串替换失败,Java replaceAll()方法报错Illegal group reference

    String str = "给商品||?>\\n阳澄湖大闸蟹!@#$%^&*()_+-=?:\",.]\\|~.,\/??\\\\|\\br点赞" Stri ...

  8. java getEnv不区分大小写 getProperty区分大小写

    System.out.println(System.getenv("JAVA_HOME")); System.out.println(System.getenv("Pat ...

  9. java replaceAll 忽略大小写

    public static void main(String[] args) { String temp=" CLASS_path : /aaabb/"; System.out.p ...

随机推荐

  1. git push不成功 insufficient permission for adding an object to repository database

    这常见于多用户. 1. 确保所有用户在同一个组: 2. 确保所有文件被组可读写. 当多个用户各自进行了push操作后,object目录下的文件可能各自属于各个用户.

  2. CentOS 6.5升级到CentOS 7

    CentOS7 已经发布了,之前一直想在上面测试一下,一直没有机会,这次终于可以感受一下CentOS7了.一直使用CentOS6.5有一段时间了,但是由于它的内核版本依然停留在2.6.32,所以决定升 ...

  3. idea类名下有红色波浪线

    能编译通过说明SDK导入正确,但是为啥我们点击每一个Java文件会出现好多红色的下划线 ,并提示idea cant resolve symbol 原因就是可能没有清除原来的历史缓存,导致一些错误,解决 ...

  4. 【198】Synergy - 鼠标键盘共享软件

    参考:Synergy X64 v1.7.4 官方最新版 参考:Synergy安装方法 功能介绍: 可以将配置局域网的电脑实现同一个鼠标键盘控制两台电脑,效果类似一台电脑使用双屏的效果,键盘会根据鼠标的 ...

  5. Coursera Algorithms Programming Assignment 3: Pattern Recognition (100分)

    题目原文详见http://coursera.cs.princeton.edu/algs4/assignments/collinear.html 程序的主要目的是寻找n个points中的line seg ...

  6. hdu5829 Rikka with Subset

    首先考虑本题的$O(n^2)$做法. $Part1$ 对原序列从大到小排序后,考虑每个数字对最终答案的贡献,有第x个数字对答案的贡献十分难以计算,所以考虑计算数字x是集合第K大的方案数,作为数字x对$ ...

  7. Start Developing Mac Apps -- App Design 应用程序设计

    App Design Apps do not exist on their own. They not only interact seamlessly with their environment, ...

  8. js动态改变img元素src在IE无效的问题

    做了个验证码功能,需要做个点击改变验证码图片的功能,使用js改变img的src,代码如下 $("#cerificationCodeImg").attr("src" ...

  9. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 08. 输入Model和防止重复Post

    通过action的参数传入一个model 通过input的name属性和model属性对应上 通常是使用Http post去做 快速创建了这个Action 这个Action很简单我们只需要返回View ...

  10. Windows 下openssl安装与配置

    编译thirift失败 网上方法很多,大部分是针对32位机的,自己的电脑因为是win7,64位,摸索了很久才安装成功. 环境 WIN7, 64位, vs2005 下载ActivePerl 配置过程中需 ...