Java replaceAll不区分大小写
Java 中replaceAll如何忽略大小写呢?
方式一:在正则表达式前面添加(?i)
- @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));
- }
@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 方法
- @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;
- }
@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
- /***
- * 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);
- }
/***
* 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不区分大小写的更多相关文章
- java replaceAll Replace
java ReplaceAll 的两个参数都必须是正则表达式. 在正则表达式中 \ (一个斜线)是用 \\ 来表示(即:用两个斜线表示一个斜线) 而在Java语言中 \ (一个斜线)是用 \\ 来表示 ...
- 你真的会用java replaceAll函数吗?
replace.replaceAll.replaceFirst这三个函数会java的同学估计都用过,笔者已经用了2年多,可是,我们真的懂他们吗? 概述一下他们三个的用法: · replace(Char ...
- JavaScript,Java,php的区分大小写问题
JavaScript 对大小写敏感. JavaScript 对大小写是敏感的.JavaScript属于弱类型语言 当编写 JavaScript 语句时,请留意是否关闭大小写切换键. 函数 getEle ...
- java replaceall 使用正则表达式替换单等号,不替换其他相关的等号。
写项目需要将公式配置到数据库中,取出后根据公式规则进行比较,由于公式的等于是用单等号,在java中无法直接使用,故需要将单等号替换成双等号,单又不能影响大于等于以及其他形式.故果断选择正则表达式替换. ...
- java replaceAll之$替换
最近,在开发一个伪代码翻译工具的过程中,遇到个问题,我们在伪代码中使用spring EL的规则,将非变量限定在${"1"}中,解析后根据上下文的类型转换为相应的java类型.在规则 ...
- java replaceall 用法:处理特殊字符
public class TryDotRegEx { public static void main(String[] args) { // TODO Auto-generated method st ...
- 特殊字符导致用正则表达式进行字符串替换失败,Java replaceAll()方法报错Illegal group reference
String str = "给商品||?>\\n阳澄湖大闸蟹!@#$%^&*()_+-=?:\",.]\\|~.,\/??\\\\|\\br点赞" Stri ...
- java getEnv不区分大小写 getProperty区分大小写
System.out.println(System.getenv("JAVA_HOME")); System.out.println(System.getenv("Pat ...
- java replaceAll 忽略大小写
public static void main(String[] args) { String temp=" CLASS_path : /aaabb/"; System.out.p ...
随机推荐
- android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
在做一个view背景特效的时候被坐标的各个获取方法搞晕了,几篇抄来抄去的博客也没弄很清楚. 现在把整个总结一下. 其实只要把下面这张图看明白就没问题了. 涉及到的方法一共有下面几个: view获取自身 ...
- UVA-11082 Matrix Decompressing(有上下界的最大流)
题目链接: Matrix Decompressing 题意: 给一个矩阵的每行和每列的和,(给的是前i行或者列的和); 矩阵中每个元素的值在1到20之间,找出这样的一个矩阵: 思路: 把它转化成一个二 ...
- JAVA 中 synchronized 详解
看到一篇关于JAVA中synchronized的用法的详解,觉得不错遂转载之..... 原文地址: http://www.cnblogs.com/GnagWang/archive/2011/02/27 ...
- Block 与 delegate
代理设计模式对于iOS开发的人来说肯定很熟悉了,代理delegate就是委托另一个对象来帮忙完成一件事情,为什么要委托别人来做呢,这其实是MVC设计模式中的模块分工问题,例如View对象它只负责显示界 ...
- UI:地图和定位
参考学习链接 各种IOS设备可以使用 Core Location 框架确定它的物理位置.core location 主要使用三种技术来实现功能.GPS.蜂窝基站三角网络定位. wifi 定位服务.这三 ...
- HDU-5538 House Building
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submissio ...
- k8s-调度器、预选策略及优选函数-二十
一.简介 master上运行着三个最核心的组件,apiserver.scheduler.controller manager.此外,master还依赖于ectd存储节点,最好ectd是有冗余能力的集群 ...
- 【WEB基础】HTML & CSS 基础入门(4)列表及其样式
前面 网页中漂亮的导航.整齐规范的文章标题列表和图片列表等等.这些都是离不开HTML里一个重要的元素----列表,在HTML中有无序列表.有序列表和定义列表三种类型.其中,无序列表应用最为广泛,下面, ...
- bzoj 2565: 最长双回文串【manacher+线段树】
因为我很愚蠢所以用了很愚蠢的O(nlogn)的manacher+线段树做法 就是开两个线段树mn和mx分别表示左端点在i的最长回文子串和右端点在i的最长回文子串 用manacher求出每个点的最长回文 ...
- Codeforces Round #516 Div2 (A~D)By cellur925
比赛传送门 A. Make a triangle! 题目大意:给你三根木棒,选出其中一根木棒增加它的长度,使构成三角形,问增加的长度最小是多少. 思路:签到题,根据样例/三角形性质不难发现,答案就是最 ...