javareplace忽略⼤⼩写_java替换字符串时忽略⼤⼩写
替换字符串⼤家都⽤的很熟悉了,但是估计⽇常很少⽤到替换时忽略⼤⼩写,今天问了⾝边⼏个⼯作超10年的java程序员,竟然⼤家都不知道怎么写了,这种基础代码竟然都淡忘了。正好学习整理⼀下,在这⾥也分享备忘⼀下。
第⼀种⽅法:直接⽤replaceAll
使⽤字符串的replaceAll⽅法,使⽤(?i)匹配符。
例如: (?i)abc  ,替换abc任何忽略⼤⼩写内容。
A(?i)bc,替换 A+(忽略⼤⼩写的bc)。
代码⽰例如下:System.out.println("hongxuejingsCriptcom".replaceAll("(?i)script",""));
System.out.println("hongxuejingSCriptcom".replaceAll("s(?i)cript",""));
输⼊结果如下图:
第⼆种⽅法:使⽤正则表达式的Matcher 的appendReplacement/***
* replaceAll,忽略⼤⼩写
* @param input
* @param regex
* @param replacement
* @return
*/
java replace方法public StringBuffer replaceAllIgnoreCase(String input,String regex,String replacement){
Pattern p = Patternpile(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;
}
这个是使⽤正则表达式重新实现了replaceAll⽅法。
⽅法三:使⽤正则表达式Matcher 的replaceAll/***
* replaceAllIgnoreCase,忽略⼤⼩写
*
* @param input
* @param regex
* @param replacement
* @return
*/
public String replaceAllIgnoreCase(String input, String regex, String replacement) { Pattern p = Patternpile(regex, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(input);
String result = m.replaceAll(replacement);
return result;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。