// 实现replace函数,不要使用字符串搜索替换函数。
public class Replace {
public static void main(String[] args) {
String info = "system runs";
System.out.println(replace(info, "st", "$$"));
}
public static String replace(String source, String toReplace, String replace) {
if (source == null || toReplace == null || replace == null) {
throw new RuntimeException("null is not allow.");
}
if (toReplace.length() > source.length()) {
throw new RuntimeException("error replace.");
}
int length = toReplace.length();
String temp = "";
StringBuffer buffer = new StringBuffer("");
for (int i = 0; i < source.length(); i++) {
if (i + length > source.length()) {
temp = source.substring(0, source.length());
} else {
temp = source.substring(i, i + length);
}
if (temp.equals(toReplace)) {
buffer.append(replace);
i = i + length - 1;
} else {
buffer.append(source.charAt(i));
}
}
return buffer.toString();
}
}