`
阅读更多

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

 测试结果:

 

 

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

 测试结果:

 

 

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

	}

 测试结果:

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

 

  • 大小: 62.3 KB
  • 大小: 13.3 KB
  • 大小: 13 KB
4
0
分享到:
评论
1 楼 hw1287789687 2014-11-01  
/***
	 * replaceAll,忽略大小写<br>
	 * 方式二
	 * @param input
	 * @param regex
	 * @param replacement
	 * @return
	 */
	public static String replaceAll2(String input, String regex,
			String replacement) {
		if(ValueWidget.isNullOrEmpty(input)){
			return input;
		}
		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.toString();
	}

	/***
	 * replaceAll,忽略大小写<br>
	 * 方式三
	 * @param input
	 * @param regex
	 * @param replacement
	 * @return
	 */
	public static String replaceAll3(String input, String regex, String replacement) {
		if(ValueWidget.isNullOrEmpty(input)){
			return input;
		}
		Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
		Matcher m = p.matcher(input);
		String result = m.replaceAll(replacement);
		return result;
	}
//	@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);
		String result=(input.replaceAll("(?i)java", replacement));
//		Assert.assertEquals("I like cccc,cccc is very easy and cccc is so popular.", result);
	}

相关推荐

Global site tag (gtag.js) - Google Analytics