道歉,如果我的术语倒置。我正在写一个JavaScript解析器,它必须能够正确使用转义序列。正在解析的文本中的字符串可能包含'\\n'
,解析器必须理解为'\n'
。如果不对所有预期的转义序列进行硬编码,可以做到这一点吗?如何将转义字符串(如'\ n')转换为Javascript中未转义的(' n')字符对应部分?
换句话说,是否有一个功能unescape
这样的:
unescape('\\n') === '\n'
道歉,如果我的术语倒置。我正在写一个JavaScript解析器,它必须能够正确使用转义序列。正在解析的文本中的字符串可能包含'\\n'
,解析器必须理解为'\n'
。如果不对所有预期的转义序列进行硬编码,可以做到这一点吗?如何将转义字符串(如'\ n')转换为Javascript中未转义的(' n')字符对应部分?
换句话说,是否有一个功能unescape
这样的:
unescape('\\n') === '\n'
你可以做的是将前,后双引号,然后调用
JSON.parse(x);
这将处理所有有效的逃生为你的序列
JSON.parse
可以为"\\n"
做到这一点,但没有一般没有这样的函数,它会解析e字符串转义序列根据the standard。但是,自己写一个相对比较容易。