你做个for就可以了啊 。public static String replace(String mainString, String oldString, String newString)
{
if(mainString == null)
return null;
int i = mainString.lastIndexOf(oldString);
if(i < 0)
return mainString;
StringBuffer mainSb = new StringBuffer(mainString);
for(; i >= 0; i = mainString.lastIndexOf(oldString, i - 1))
mainSb.replace(i, i + oldString.length(), newString); return mainSb.toString();
}
{
if(mainString == null)
return null;
int i = mainString.lastIndexOf(oldString);
if(i < 0)
return mainString;
StringBuffer mainSb = new StringBuffer(mainString);
for(; i >= 0; i = mainString.lastIndexOf(oldString, i - 1))
mainSb.replace(i, i + oldString.length(), newString); return mainSb.toString();
}
String str4 = "abc";
String str5= "aaa";
if(str3.indexOf(str4)>=0){
System.out.println(str3.replaceAll(str4,str5));
}
输出结果:aaa d e aaa f aaa
那这与String的replace相比效率如何?
楼上的,我希望是用StringBuffer来做?