java replaceall 大小写_Java replaceAll不区分大小写

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

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

Java代码

48ceb2f38bff5190c4e69d2a48587939.png

@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));

}

测试结果:

39b0350e21550e27c1472895318e29d7.png

方式二:使用Matcher 的appendReplacement 方法

Java代码

48ceb2f38bff5190c4e69d2a48587939.png

@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;

}

测试结果:

b56ac80a483e7e7793fc69dacf499ba8.png

方式三:使用Matcher 的replaceAll

Java代码

48ceb2f38bff5190c4e69d2a48587939.png

/***

* 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);

}

测试结果:

5e8f8506047c232b676d4beb12ee0902.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值