Java中字符串的替换(转)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最近在网上搜集了一些java中字符串替换的方法。
1. /**
* 字符串替换函数
* @param from 要替换的字符
* @param to 要替换成的目标字符
* @param source 要替换的字符串
* @return 替换后的字符串
*/
import java.util.StringTokenizer;
public String str_replace(String from,Stringto,String source) { StringBuffer bf= new StringBuffer("");
StringTokenizerst = new StringTokenizer(source,from,true);
while (st.hasMoreTokens()) {
String tmp = st.nextToken();
if(tmp.equals(from)) {
bf.append(to);
} else {
bf.append(tmp);
}
}
return bf.toString();
}
2. /*
*字符串替换函数,另一种方法的实现
*/
public String str_replace2(String con ,String tag,String rep){ int j=0;
inti=0;
int k=0;
String RETU="";
String temp =con;
inttagc =tag.length();
while(i if(con.substring(i).startsWith(tag)){ temp =con.substring(j,i)+rep; RETU+= temp; i+=tagc; j=i; }else{ i+=1; } } RETU +=con.substring(j); return RETU; } 3. public static String replace(String strSource, String strFrom, String strTo) { if(strFrom == null || strFrom.equals("")) return strSource; String strDest = ""; intintFromLen = strFrom.length(); intintPos; while((intPos = strSource.indexOf(strFrom)) != -1) { strDest = strDest + strSource.substring(0,intPos); strDest = strDest + strTo; strSource = strSource.substring(intPos + intFromLen); } strDest = strDest + strSource; ret urn strDest; } 4.高效替换程序。 public static String replace(String strSource, String strFrom, String strTo) { if (strSource == null) { return null; } inti = 0; if ((i = strSource.indexOf(strFrom, i)) >= 0) { char[] cSrc = strSource.toCharArray(); char[] cTo = strTo.toCharArray(); intlen = strFrom.length(); StringBufferbuf = new StringBuffer(cSrc.length); buf.append(cSrc, 0, i).append(cTo); i += len; int j = i; while ((i = strSource.indexOf(strFrom, i)) > 0) { buf.append(cSrc, j, i - j).append(cTo); i += len; j = i; } buf.append(cSrc, j, cSrc.length - j); return buf.toString(); } return strSource; }