将文字反斜杠后跟一个字符转换为相应的转义序列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将文字反斜杠后跟一个字符转换为相应的转义序列相关的知识,希望对你有一定的参考价值。
我有一个传入的字符串,其中包含一个字面反斜杠,后跟n,"\\n"
。我怎么能解释这是换行符,"\n"
?同样对于"\\t"
→"\t"
。我想解释一个字面反斜杠后跟一个字符作为相应的转义序列。
输入:"foo\\nbar\\tbaz"
。期望的输出:"foo\nbar\tbaz"
。
答案
如果你不想写出每一个替换,一个丑陋的可能性是使用eval
解释\
,然后将转义字符解释为字符串:
const input = String.raw`foo\nbar\tbaz`;
console.log(input.replace(/\\(.)/g, (_, char) => eval('"\\' + char + '"')));
另一答案
另一种选择 - 利用JSON模块:
const s = 'foo\\nbar\\tbaz';
console.log(JSON.parse('["' + s + '"]')[0]);
以上是关于将文字反斜杠后跟一个字符转换为相应的转义序列的主要内容,如果未能解决你的问题,请参考以下文章