练习题:
编写代码完成如下功能:
public static String replace(String text, String target, String replace){
...
}
示例:replace(“aabbccbb”, “bb”, “dd”); 结果:aadccdd
注意:不能使用String及StringBuffer等类的replace等现成的替换API方法。
String s = "aabbccbb"; String d="dd"; String b="bb"; String[] dds = s.split(b); String ss = ""; for (String dd : dds) { ss += dd + d; } System.out.println(ss); |
测试结果:
@Test
public void test(){
String s = "aabbccbb";
String d="dd";
String b="bb";
String[] dds = s.split(b);
String ss = "";
for (String dd : dds) {
ss += dd + d;
}
System.out.println(ss);
}
控制台返回:
aaddccdd
<<< 请您给予关注增加动力 >>>
解题代码:
public class Demo {
public static String replace(String text, String target, String replace){
if (!text.contains(target)||target.equals(replace)){
return text;
}
String[] split = text.split(target);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < split.length; i++) {
if (i==split.length-1){
sb.append(split[i]);
if (sb.length()<text.length()){
sb.append(replace);
}
break;
}
sb.append(split[i]);
sb.append(replace);
}
return sb.toString();
}
}