Quiero eliminar un carácter específico, así como el anterior (en este caso # y su carácter anterior). Ejemplo:
"ab#c" -> "ac"Use una expresión regular y String.replace :
const inp = "ab#c"; const match = /.#/; const out = inp.replace(match, ""); console.log(out); Tenga en cuenta que esto elimina cualquier carácter que preceda a un '#' en su cadena original, pero solo una aparición. Agregue la bandera g para hacer coincidir y reemplazar todas las apariciones, y use [a-zA-Z] para hacer coincidir solo las letras.
Si desea trabajar de otra manera (el carácter sigue, no precede) y desea reemplazar #c pero no \#c , simplemente agregue eso también:
const inp = "ab\\#c3#cc"; const match = /[^\\]{1}#./; const out = inp.replace(match, ""); console.log(out);Puede usar el reemplazo de expresiones regulares globales
const inputStr = "ab#c de#f gh#i"; const regxStr = /.#/g; const outputStr = inputStr.replace(regxStr, ""); console.log(outputStr);