В библиотеке Apache Commons вы можете просто использовать Stringutils.replaceEach :
public static String replaceEach(String text,
String[] searchList,
String[] replacementList)
Из документации :
Заменяет все вхождения строк в другой строке.
Пустая ссылка, переданная этому методу, является неактивной или, если она есть,
строка "или" строка для замены "равна нулю, эта замена будет игнорироваться.
Это не повторится. Для повторяющихся замен звоните перегруженным
способ.
StringUtils.replaceEach(null, *, *) = null
StringUtils.replaceEach("", *, *) = ""
StringUtils.replaceEach("aba", null, null) = "aba"
StringUtils.replaceEach("aba", new String[0], null) = "aba"
StringUtils.replaceEach("aba", null, new String[0]) = "aba"
StringUtils.replaceEach("aba", new String[]{"a"}, null) = "aba"
StringUtils.replaceEach("aba", new String[]{"a"}, new String[]{""}) = "b"
StringUtils.replaceEach("aba", new String[]{null}, new String[]{"a"}) = "aba"
StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte"
(example of how it does not repeat)
StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "dcte"