JS 在字符串中显示特殊的 ascii 字符
JS show special ascii characters in a string
有没有办法制作这个字符串:
foo
bar
显示如下:
foo\r\n\tbar
这对调试词法分析器很有帮助。
关键是在字符串替换中转义\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`));
如果只想调试,可以在浏览器控制台中显示所有转义字符,但将字符串放入数组中:
let string = "test\ntest";
let arr = [];
arr.push(string);
console.log(arr);
但这不会以任何方式改变你的字符串,它仍然包含新行,而不是“\n”。
有没有办法制作这个字符串:
foo
bar
显示如下:
foo\r\n\tbar
这对调试词法分析器很有帮助。
关键是在字符串替换中转义\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`));
如果只想调试,可以在浏览器控制台中显示所有转义字符,但将字符串放入数组中:
let string = "test\ntest";
let arr = [];
arr.push(string);
console.log(arr);
但这不会以任何方式改变你的字符串,它仍然包含新行,而不是“\n”。