代码之家  ›  专栏  ›  技术社区  ›  BallpointBen

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

  •  1
  • BallpointBen  · 技术社区  · 6 年前

    我有一个传入字符串,它包含一个反斜杠,后跟n, "\\n" . 我怎么解释这是一条新线, "\n" ? 同样适用于 "\\t" "\t" . 我想将后跟字符的反斜杠解释为相应的转义序列。

    输入: "foo\\nbar\\tbaz" . 期望输出: "foo\nbar\tbaz" .

    2 回复  |  直到 6 年前
        1
  •  1
  •   CertainPerformance    6 年前

    如果你不想写下每一个替代品,一个丑陋的可能性就是使用 eval 解释 \

    const input = String.raw`foo\nbar\tbaz`;
    console.log(input.replace(/\\(.)/g, (_, char) => eval('"\\' + char + '"')));
        2
  •  0
  •   Ivan Velichko    6 年前

    另一个选项-利用JSON模块:

    const s = 'foo\\nbar\\tbaz';
    console.log(JSON.parse('["' + s + '"]')[0]);