Quiero eliminar los comentarios después del símbolo y el espacio en blanco al final de las líneas para que mi código siga así
function solution(input, markers) { let regexp = new RegExp("["+ markers.join('') + "].*","gi") let removeWhiteSpace = input.replace(regexp,"") return removeWhiteSpace.replace(/\s+$/g,"") }; Tengo una cadena como la siguiente
console.log(solution("manzanas, ciruelas % y plátanos\nperas\nnaranjas !puré de manzana",["%", "!"]))
Tengo problemas para apuntar al espacio en blanco después de las "ciruelas" sin afectar los otros espacios en blanco. ¿Qué puedo mejorar en esta expresión regular para apuntar a ese espacio en blanco?
Lo que hace su código es que coincide con todo lo que está después de '%' o '!' y luego reemplace los espacios en blanco al final de la cadena. Si está tratando de eliminar los símbolos en los marcadores y eliminar cualquier espacio en blanco adicional al final de la cadena, puede hacerlo en una línea de código:
let regex = /(?:[%!]+\s*|\s*$)/gm input.replace(regex, "")expresión regular: /(?:[%!]+\s*|\s*$)/gm
(?: Non capture group [%!]+\s* zero or more spaces that follow one or more symbols (from marker var) | OR \s*$ zero or more spaces at the end of the input string )