将文字反斜杠后跟一个字符转换为相应的转义序列

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]);

以上是关于将文字反斜杠后跟一个字符转换为相应的转义序列的主要内容,如果未能解决你的问题,请参考以下文章

包含反斜杠的路径字符串无法识别的转义序列

如何转义通过用户输入收到的乳胶代码?

0810-java

使用awk,后跟单引号时如何匹配反斜杠字符(是的,这是两个字符)

学习转义序列和转义符

学习转义序列和转义符