Quiero hacerlo como doy una lista de palabras y un significado para ellas, por ejemplo:
'szia' = 'hola' 'mizu' = 'que pasa'
y luego tengo una cadena que dice así: var string = "szia mizu"
. ¿Cómo puedo reemplazar las palabras de la lista?
let sentence = "szia mizu"; const traduction= { "hello": ['szia'], "whats up": ['mizu'] }; function fileAndReplace(sentence, traduction) { let newSentence = sentence; Object.keys(traduction).forEach(key => { const checktrad = new RegExp(traduction[key].join('|'),'gi'); newSentence = newSentence.replace(checktrad , key); }) return newSentence; } console.log(fileAndReplace(sentence, traduction))
necesita iterar a través de todas las claves en su diccionario y crear una expresión regular para esa clave específica. Luego, simplemente alimenta esa expresión regular a .replace() con la expresión regular sinónima y la clave con la que desea reemplazarla.
Puede archivar esto con la función js replace()
:
const needles = { szia: "hello", mizu: "whats up" }; let str = "szia mizu"; Object.keys(needles).forEach(n => { str = str.replace(n, needles[n]); }) console.log(str)