欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java replaceAll不区分大小写 博客分类: java javareplaceAll大小写 

程序员文章站 2024-03-09 17:00:59
...

Java 中replaceAll如何忽略大小写呢?
方式一:在正则表达式前面添加(?i)

@Test
public void test_replaceAll1() {
	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));
}

 输出结果:

I like Java,jAva is very easy and jaVa is so popular.
I like cccc,cccc is very easy and cccc is so popular.

 

方式二:使用Matcher 的appendReplacement 方法

@Test
public void test_replaceAll2() {
	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;
}

 输出结果:

I like Java,jAva is very easy and jaVa is so popular.
I like cccc,cccc is very easy and cccc is so popular.

 

方式三:使用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);  

}  

输出结果:

I like Java,jAva is very easy and jaVa is so popular.
I like cccc,cccc is very easy and cccc is so popular.

 

参考:

http://hw1287789687.iteye.com/blog/2150897