public static String StrReplace(String rStr, String rFix, String rRep)
{
int l = 0;
String gRtnStr = rStr;
do
{
l = rStr.indexOf(rFix,l);
if(l == -1) break;
gRtnStr = rStr.substring(0,l) + rRep + rStr.substring(l + rFix.length());
l += rRep.length();
rStr = gRtnStr;
}while(true);
return gRtnStr.substring(0, gRtnStr.length());
}
{
int l = 0;
String gRtnStr = rStr;
do
{
l = rStr.indexOf(rFix,l);
if(l == -1) break;
gRtnStr = rStr.substring(0,l) + rRep + rStr.substring(l + rFix.length());
l += rRep.length();
rStr = gRtnStr;
}while(true);
return gRtnStr.substring(0, gRtnStr.length());
}
--
http://www.csdn.net/expert/topic/77/77231.shtm
StringBuffer类的replace可以实现字符串的替换.
2 String tempStr = strToProcess;
3 // StringBuffer temp = new StringBuffer(tempStr);
4 int first=0, last=0;5 while((first = tempStr.indexOf(strFrom))!= -1) {
6 last = first + strFrom.length();
7 StringBuffer temp = new StringBuffer("");
8 temp.append(tempStr.substring(0, first));
9 temp.append(strTo);
10 temp.append(tempStr.substring(last));
11 // temp = temp.replace(first, last, strTo);
12 tempStr = new String(temp);
13 }
14 return tempStr;
15 }如果你用的JDK是1.2以下的话就不用改了,
要是用的1.2 就把7-10句注释掉,把3和11前的注释去掉。
这个函数的作用是将strToProces中所有的strFrom 替代成strTo,不过有几个小毛病,不知各位大虾看过之后能否指出。:)
谢谢yangzi和luodi的指导 :)
public static String replace1(String s,String org,String ob)
{
String newString="";
int first=0;
while (s.indexOf(org)!=-1)
{
first=s.indexOf(org);
if (first!=s.length() )
{
newString=newString+s.substring(0,first)+ob ;
s=s.substring(first+org.length() ,s.length() ) ;
}
} newString=newString+s;
return newString;
}
public class strReplace{
public static String Replace(String strReplaced, String oldStr, String newStr){
int pos=0;
int findPos;
while((findPos=strReplaced.indexOf(oldStr,pos))!=-1){
strReplaced=strReplaced.substring(0,findPos)+newStr+strReplaced.substring(findPos+oldStr.length());
findPos+=newStr.length();
}
return strReplaced;
}
}