Tengo una cadena que es una oración normal. Necesito reemplazar los caracteres en la cadena si se encuentran en una matriz determinada. Por ejemplo,
const arr = ["(model: Audi)", "(model: Kia)"];si la cadena es:
"How is your (model: Audi) today?"; El resultado debería ser "How is your Audi today?" .
¿Hay alguna manera de hacer esto con expresiones regulares? Leí en alguna parte que regex tiene un mejor rendimiento. Intenté recorrer la matriz y luego reemplazar los caracteres, pero no pude hacerlo funcionar y mi solución tendría bucles anidados debido a la cadena dada
const arr = ["(model: Audi)", "(model: Kia)"]; let string = "How is your (model: Audi) today?"; for (let data of arr){ string = string.replace(data, data.split(": ")[1].replace(")","")) } console.log(string);Bueno, esto es lo más simple que he logrado hacer.
Sin embargo, yo mismo lo considero una mala solución.
Déjame saber si te ayuda en algo...
const myString = "How is your (model: Audi) today?"; const arr = ["(model: Audi)", "(model: Kia)"]; arr.forEach(item => { const part = item.match(/\w+\)$/)[0]; const subPart = part.substring(0, part.length - 1); if (myString.includes(item)) console.log(myString.replace(item, subPart)); });