/** * Simple replacement function that replaces Strings with other Strings * (as opposed to String.replace(char, char)). Works much like the * regular expression: "s/needle/haystack/g" on a string. * @param haystack string to locate and insert replacements * @param needle string to look for * @param replacement string to replace with * @return "haystack" with all occurrences of "needle" converted to "replacement" */ public static String replace(String haystack, String needle, String replacement) { if ((haystack == null) || (needle == null)) return haystack; int len = needle.length(); if (len==0) return haystack; if (replacement == null) replacement = ""; StringBuffer sb = new StringBuffer(haystack); //traverse backwards to stablize string indexOf position int start = haystack.lastIndexOf(needle); while (start != -1){ sb.replace(start, start+len, replacement); start = haystack.lastIndexOf(needle, start -1); } return sb.toString(); }