字符串替换方法的优劣
需求:String str =? "中aacabbbaac中sabbcccdddddeee";??
?? String[] findStr = {"aa","b","c","d","e","f","g"} ;?
???????? String[] repStr = {"A","B","C","D","E","F","G"} ;??
在str中查找findStr中的字符串,如果找到則替換成與findSt索引位置對應的repStr數組中的字符串元素。
方法一:int len =?findStr.length ;
?????????? for(int i=0 ; i<len ;i++){
? ? str = str.replace(findStr[i], repStr[i]);
}
?
方法二:?int len =?findStr.length ;
??????????? StringBuffer sf = new StringBuffer(str) ;
? for(int i=0 ; i<len ;i++){
???while(iStart > -1)
??? ??????? {
??? ?iStart = sf.indexOf(gjcMcStr[i]) ;
?????????????????????????? if(iStart > -1)
???????????????????????????????????? sf.replace(iStart, iStart+gjcMcStr[i].length(), gjcTdcStr[i]) ;
?????????????????????????? else
??????????????????????????????????? ?break ;
?????????????????? }
???????????? }
???????????? str = sf.toString() ;
?
方法三:
? Map<String,String> map=new HashMap<String,String>();
?? map.put("aa", "A");
?? map.put("b", "B");
?? map.put("c", "C");
?? map.put("d", "D");
?? map.put("e", "E");
?? map.put("f", "F");
?? map.put("g", "G");??
?????????? ??Matcher matcher = Pattern.compile("(?:aa|b|c|d|e|f|g)").matcher(str);
??StringBuffer sf = new StringBuffer();
??
? ?while (matcher.find()) {
??? matcher.appendReplacement(sf, map.get(matcher.group()));
?? }
?? matcher.appendTail(sf);
? ??str = sf.toString() ;
轉載于:https://www.cnblogs.com/hzhuxin/archive/2012/07/02/2573632.html
總結
以上是生活随笔為你收集整理的字符串替换方法的优劣的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos5.3搭建安全高效的LNMP
- 下一篇: 6月份美国域名总量新增近5.4万个 环比