Una versión más completa, donde se puede indicar el número de ocurrencias de una cadena que se quiere sustituir por otra, a través del parametro "veces".
/*
Devuelve un String donde se ha reemplazado en el parametro cadena las ocurrencias del parámetro quitar por lo indicado en el parámetro poner.
El parámetro veces indica el número de ocurrencias que quieren ser sustituidas.
veces = -1 indica que todas las veces.
*/
public String sustituir(String cadena, String quitar, String poner, int veces)
{
String resultado = cadena;
if (veces < 1 && veces != -1) return cadena;
if (cadena == null || quitar == null || poner == null) return resultado;
if (!cadena.equals("") && !quitar.equals(""))
{
int posicion = cadena.indexOf(quitar);
if (posicion!=-1)
{
int tamanio = quitar.length();
String resto = cadena.substring(posicion+tamanio);
if (veces==-1)
{
resultado = cadena.substring(0,posicion) + poner + sustituir(resto,quitar,poner,-1);
}
else
{
resultado = cadena.substring(0,posicion) + poner + sustituir(resto,quitar,poner,veces-1);
}
}
}
return resultado;
}