All pastes #170429 Raw Edit

Mine

public java v1 · immutable
·published 2006-09-14 16:17 UTC
rendered paste body
    public static String substitute( String source, String searchString, String replaceString ) {        int sl;        if (source == null) {            return null;        }        if (searchString == null || (sl = searchString.length()) == 0) {            return source;        }         if (replaceString == null) {            replaceString = "";        }        int len = source.length();        int rl = replaceString.length();        int length;        if (sl == rl) {            length = len;        } else {            int c = 0;            int s = 0;            int e;            while ((e = source.indexOf(searchString, s)) != -1) {                c++;                s = e + sl;            }            if (c == 0) {                return source;            }            length = len - (c * (sl - rl));        }         int s = 0;        int e = source.indexOf(searchString, s);        if (e == -1) {            return source;        }        StringBuffer sb = new StringBuffer(length);        while (e != -1) {            sb.append(source.substring(s, e));            sb.append(replaceString);            s = e + sl;            e = source.indexOf(searchString, s);        }        e = len;        sb.append(source.substring(s, e));        return sb.toString();    }