–记录练习题
编写代码完成如下功能
public static String replace(String text, String target, String replace){
…
}
示例:replace(“aabbccbb”, “bb”, “dd”); 结果:aaddccdd
注意:不能使用String及StringBuffer等类的replace等现成的替换API方法。
public class Test01 {
public static void main(String[] args) {
System.out.println(replace("我爱大中华大", "大", "小"));
}
public static String replace(String text, String target, String replace) {
int len = target.length(); //获取target的长度
StringBuffer sb = new StringBuffer();
String end = text;
while (end.contains(target)) {
int index = end.indexOf(target); //获取第一次target的下标
String first = end.substring(0, index); //获取下标为0,index的字符
end = end.substring(index + len); //获取替换字符后的字符串
sb = sb.append(first).append(replace); //用一个新的变量来拼接
if (!end.contains(target)) {
sb = sb.append(end);
}
}
return sb.toString();
}
}