我正在使用API来编译代码,并且当出现错误时,包含错误消息的响应将使用JSON转义字符,但是当将其输出回HTML前端时,它只会产生垃圾字符。如何使用Javascript将转义的字符串转换为纯文本字符串,或以HTML正确输出?
这是正确输出的字符串(在Powershell中):
https://i.imgur.com/tv0BZFl.jpg
这是转义的字符串:
\ u001b [01m \ u001b [K:\ u001b [m \ u001b [K in function'\ u001b [01m \ u001b [Kin ...
如果我直接以HTML输出,则字符串如下所示:
[01m [K:[m [K在函数'[01m [Kint main()[m [K':
[01m [K:9:1:[m [K [01; 31m [Kerror:[m [Kexpected'[01m [K; [m [K]
}
[01; 32m [K ^ [m [K
最佳答案
看起来您可以使用strip-ansi
包。这是使用转义字符串的示例:
const stripAnsi = require('strip-ansi');
stripAnsi("\u001b[01m\u001b[K:\u001b[m\u001b[K In function '\u001b[01m\u001b[Kin...")
// result => ": In function 'in..."
如果您不使用node.js,或者由于某种原因无法使用该软件包,则this Stack Overflow answer可以使用正则表达式来代替。