java替换字符串时忽略大小写
发布时间:2014-12-02 作者:伊君 点击:1085
替换字符串大家都用的很熟悉了,但是估计日常很少用到替换时忽略大小写,今天问了身边几个工作超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 */ public StringBuffer replaceAllIgnoreCase(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; }
这个是使用正则表达式重新实现了replaceAll方法。
方法三:使用正则表达式Matcher 的replaceAll
/*** * replaceAllIgnoreCase,忽略大小写 * * @param input * @param regex * @param replacement * @return */ public String replaceAllIgnoreCase(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; }
更多关于 java,String,replaceAll,替换字符串 的信息
- java.lang.IllegalArgumentException: java.security.InvalidKeyException: Illegal key size(2023-12-15)
- java SimpleDateFormat处理英文3位字母月份时的注意事项(2019-11-27)
- IE浏览器javascript new date NAN bug的解决(2016-04-27)
- 清理java项目中多余的jar包(2016-03-10)
- 安卓下java连接串口进行客显控制的方法(2016-02-02)
- 卸载aliyun linux 15预装的java运行环境openjdk 1.6(2016-01-30)
- vb.net调用java axis2生成的soap webservices(2015-04-03)
- java及tomcat使用http正向代理的几种方法(2015-03-08)
- vb.net的char数组转成String(2015-02-01)
- Convert.FromBase64String与Convert.ToBase64String(2015-01-18)
本站部分文章转载于网上,版权归原作者所有。如果侵犯您的权益,请Email和本站联系!