以字符串形式内化字符串文本

Internalize a String Literal in String Form

本文关键字:字符串 文本      更新时间:2023-09-26

假设我有一个String文字的String表示形式(带有转义字符和所有字符);写成文字本身,它可能看起来像:

'''Hello,''tI'm tabbed over!''n'''

我如何将其内化为String,等效于文字以String形式表示的String;也就是说,相当于我只是输入时会得到的

'Hello,'tI'm tabbed over!'n'

进入程序?

我知道我可以只使用eval(),但这似乎是一个糟糕的解决方案。我可以使用eval()将字符串形式的数字文字转换为实际数字,但已经有像 Number.parseInt() 这样的函数用于此目的。String有这样的事情吗?

试试这个:

var toConvert = "''Hello,''tI'm tabbed over!''n''";
var str = (new RegExp(toConvert)).toString().replace(/^'/|'/$/g,'');
console.log(str) // 'Hello,'tI'm tabbed over!'n'

更新

有一个更简单的解决方案:

"'''Hello,''tI'm tabbed over!''n''".toString()