Estoy trabajando en un proyecto que trata mucho con cadenas. Necesito mostrar qué tipo de delimitador se usa en las cadenas. Obtengo ese valor de una llamada API. ¿Cómo imprimo el delimitador en la consola?
delimiter = '\n';Quiero imprimir esto en la pantalla.
console.log(delimiter); // prints " " Necesito que imprima \n en lugar de imprimir literalmente una nueva línea.
El carácter \n es una secuencia de escape utilizada para nuevas líneas.
Es por eso que necesita usar replace en la cadena si desea verlo en la consola. Al igual que:
console.log(delimiter.replace('\n', '\\n')); La barra invertida adicional escapa de \n , por lo que ya no se trata como una nueva línea.
Puede encontrar más información sobre las secuencias de escape aquí:
Usando JSON.stringify() puede transformar un carácter de nueva línea real (sea lo que sea) en su versión en cadena. Luego, después de eliminar las comillas dobles iniciales y finales, obtendrá lo que busca:
console.log(JSON.stringify(delimiter).replaceAll('"',''));Actualizar:
¿Cómo manejar comillas dobles y controlar caracteres dentro de cadenas que están delimitadas con saltos de línea?
Esto debería funcionar:
const delimiter = '\n'; const delimitedText = 'a\nb\nc\nd'; const stringifiedDelimiter = JSON.stringify(delimiter).replaceAll('"',''); console.log(delimitedText.replaceAll(delimiter, stringifiedDelimiter));Para mostrar una línea (múltiple) con texto ya envuelto, use este 🙂
Hay una pequeña expresión regular, que elimina \r y \n
const server = 'a\na'; const client = server.replace(/\r?\n/gm, '\\n'); console.log(1, server); console.log(2, client);