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

时间:2016-02-25 09:38:43

标签: javascript string string-literals

假设我有一个String文字的String表示(包含转义字符和全部);写作文字本身,它可能看起来像:

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

如何将其内部化为String,相当于String形式的文字所代表的String;也就是说,相当于我输入的内容

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

进入程序?

我知道我可以使用eval(),但这似乎是一个可怕的解决方案。我可以使用eval()将字符串形式的数字文字转换为实际数字,但为此目的已经有Number.parseInt()之类的函数。 String s有什么类似的内容吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

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()