`
阅读更多

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

相关推荐

    Java实现在正则表达式中控制大小写的方法

    默认情况下,Java的正则表达式是区分大小写的。这意味着如果在正则表达式中定义了一个小写字母,它将不会匹配相应的大写字母,反之亦然。 2. **忽略大小写** 要使正则表达式不区分大小写,可以在创建`Pattern`...

    java 回文的判断

    2. **忽略大小写**:为了使判断不区分大小写,我们可以将字符串转换为全大写或全小写,这可以通过`toUpperCase()`或`toLowerCase()`方法完成。 3. **判断回文**:现在我们得到了一个只包含字母和数字的新字符串,接...

    java replace

    - `replace`方法区分大小写,所以如果你想替换的字符是大小写敏感的,要注意这一点。 - 如果`target`不存在于原始字符串中,`replace`方法将返回原始字符串而不做任何改变。 - 对于`replace(CharSequence target, ...

    JAVA 字符串 操作

    - `equals()`方法:用于比较字符串内容是否相同,不区分大小写。 - `equalsIgnoreCase()`方法:与`equals()`类似,但忽略大小写。 - `compareTo()`方法:基于Unicode值比较字符串,返回值可用来判断字符串的前后...

    java_zhengze.rar_正则表达式_正则表达式 java

    i)`表示不区分大小写,`(?'name'...)`用于命名捕获组,这些都是编写复杂正则表达式时的重要工具。 在实际应用中,我们经常需要处理用户输入,这时可以使用正则表达式来验证输入的有效性。例如,电子邮件地址的验证...

    java中字符串的操作汇总

    - **忽略大小写比较 (`equalsIgnoreCase`)**:类似于 `equals` 方法,但不区分大小写。 ```java public boolean equalsIgnoreCase(String anotherString); ``` #### 5. 获取子字符串 (`substring`) `substring`...

    Java正则表达式学习教程

    首先,编译了一个不区分大小写的正则表达式"ab",然后在字符串"ABcabdAb"上应用Matcher的find()方法,打印出所有匹配的子串及其位置。接着,使用\\W(非单词字符)作为分隔符,将字符串"one@two#three:four$five...

    适合于js和java的正则表达式

    例如,`/abc/gi`会全局且不区分大小写地查找"abc"。 在Java中,正则表达式的使用方式有所不同,主要通过`java.util.regex`包中的`Pattern`和`Matcher`类来实现。创建正则表达式对象时,需要先编译模式(`Pattern....

    java实现敏感词过滤

    - **大小写敏感**:根据需求,可以设定敏感词过滤是否区分大小写。 - **部分匹配**:是否允许敏感词的部分出现,如“敏感”出现在“敏感性”中是否需要过滤。 - **词语边界**:避免中间的字符被误判为敏感词的一部分...

    java开发相关api文档

    `Pattern`类还提供了多种匹配模式,如`CASE_INSENSITIVE`(不区分大小写)和`DOTALL`(使`.`匹配包括换行符在内的所有字符)。 2. **Matcher类**:`Matcher`是`Pattern`的实例,负责在给定输入上执行匹配操作。它...

    Java程序设计基础:String类的常用方法(二.pptx

    - **解释**:`equalsIgnoreCase()` 方法比较两个字符串的内容时,不区分大小写。因此,即使 `str1` 和 `str2` 的大小写不同,该方法仍然返回 `true`。 ##### 2.4 `compareTo()` 方法 - **用途**:按照字典顺序比较...

    字符串处理例子一些相关的java代码

    `compareToIgnoreCase` 方法在比较时不区分大小写。 7. **相等性检查**: - `equals` 方法用于判断两个字符串是否相等,注意它区分大小写。 8. **前缀和后缀检查**: - `startsWith` 检查字符串是否以特定前缀...

    java字符串 详解 java实例20

    3. `compareToIgnoreCase()`:不区分大小写地比较字符串。 五、字符串转换 1. 转换为字符数组:`char[] charArray = str.toCharArray();` 2. 转换为其他类型:`int number = Integer.parseInt(str);`(整数)、`...

    JAVA字符串处理函数列表一览.pdf

    16. `compareTo()`和`compareToIgnoreCase()`:比较两个字符串的顺序,`compareTo()`区分大小写,`compareToIgnoreCase()`不区分大小写。 17. `indexOf()`和`lastIndexOf()`:查找字符或子串在字符串中首次出现和...

    JAVA 正则表达式测试器

    - `Pattern.flags()`: 可以设置正则表达式的标志,如CASE_INSENSITIVE(不区分大小写)或MULTILINE(多行模式)。 2. **Matcher类**: - `Matcher.matches()`: 检查整个输入字符串是否匹配正则表达式。 - `...

    Java正则表达式的总结和一些小例子

    * static Pattern compile(String regex, int flag):编译模式,参数 regex 表示输入的正则表达式,flag 表示模式类型(Pattern.CASE_INSENSITIVE 表示不区分大小写)。 * Matcher match(CharSequence input):获取...

    Java中的正则表达式 -- 示例详解

    - `Pattern.compile(String regex, int flag)`函数的`flag`参数可以设置不同的匹配行为,如`CASE_INSENSITIVE`使匹配变为不区分大小写。 7. **实例应用**: - 查找、替换字符串:`String result = inputString....

    Java正则表达式规则(技术文档)

    在这里,pattern是一个字符串,指定了正则表达式的模式,attributes是可选的字符串,包含属性"g"、"i"和"m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。例如,创建一个正则表达式来匹配任意数量的数字,...

    Java正则表达式的总结和一些小例

    这里的`regex`参数是你要编译的正则表达式字符串,`flag`参数可以指定匹配模式,例如`CASE_INSENSITIVE`表示不区分大小写。Pattern类还提供了一些其他方法,如`matches(String regex, CharSequence input)`可以直接...

    java语言 句子词汇分析

    这通常包括去除标点符号、转换为小写(为了不区分大小写)以及根据空格分隔单词。可以使用`String`类的`toLowerCase()`、`replaceAll()`方法完成这些操作。 3. **单词统计**: 为了统计单词,我们可以使用`HashMap...

Global site tag (gtag.js) - Google Analytics