JS показывает специальные символы ASCII в строке - PullRequest
0 голосов
/ 08 декабря 2018

Есть ли способ сделать эту строку:

foo
    bar

Выглядеть так:

foo\r\n\tbar

Это действительно помогло бы с отладкой лексера.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Если отладка - это все, что вы хотите сделать, вы можете отобразить все экранированные символы в консоли браузера, но поместив строку в массив:

let string = "test\ntest";

let arr = [];

arr.push(string);

console.log(arr);

Но это никак не изменит вашу строку, она все равно содержит новую строку вместо "\ n".

0 голосов
/ 08 декабря 2018

Ключ должен экранировать \n в строке замены.

let specialCharacters = [
    {regex: /\n/g, replacement: '\\n'},
    {regex: /\t/g, replacement: '\\t'}
];

function escapeSpecialCharacters(str){
  specialCharacters.forEach(c => {
    str = str.replace(c.regex, c.replacement);
  });
  return str;
}

console.log(escapeSpecialCharacters(`test
test
test
1234`));
...