Tengo una cadena como:
def definition():Quiero cambiar la definición de palabra (por ejemplo), cada instancia de definición de palabra pero no las "definiciones" que forman parte de otras palabras como esta
console.log("def definition():".specialReplace("def", "abc"));y el resultado debe ser
abc definition():no
abc abcinition():Use String#replace o String#replaceAll con una expresión regular :
const specialReplace = (str) => str.replaceAll(/\bdef\b/g, 'abc') console.log(specialReplace("def definition")) // abc definition console.log(specialReplace("def definition def")) // abc definition abc En la expresión regular, \b es una aserción de tipo límite que coincide con cualquier límite de palabra, como entre una letra y un espacio.
Tenga en cuenta que la misma secuencia \b también se usa dentro de las posiciones de expresión regular de la clase de caracteres ( [\b] ), para coincidir con el carácter de retroceso.