Estoy tratando de limpiar una cadena (URL). Lo necesito cada vez que contiene ipfs://ipfs/ para reemplazarlo por un solo ipfs/ . La cadena completa es ipfs://ipfs/QmR6xjBCn pero debería ser ipfs://QmR6xjBCn En algunos casos obtengo cadenas que ya están limpias, en otros casos no.
Usé include para detectar si la cadena contenía ipfs://ipfs y luego la reemplacé por lo que necesitaba: ipfs://
if (fixedURL.includes('ipfs://ipfs')) { fixedURL2 = fixedURL.replace('ipfs://ipfs','ipfs://') obj.imageUrl = fixedURL2; } else { obj.imageUrl = fixedURL; }Usa la función reemplazar(). Si el texto no está en la cadena, no reemplazará nada. Entonces solo funciona cuando el doble ipfs está allí.
let str; // example one str = "ipfs://ipfs/QmR6xjBCn"; str = str.replace("ipfs://ipfs/","ipfs://"); console.log(str); // example two, same code different url str = "ipfs://SomethingRandom"; str = str.replace("ipfs://ipfs/","ipfs://"); console.log(str);