以字符串形式内化字符串文字
Internalize a String Literal in String Form
假设我有 String
文字的 String
表示(带有转义字符和所有字符);写成文字本身,它可能看起来像:
'\'Hello,\tI'm tabbed over!\n\''
如何将其内部化为 String
,等同于 String
形式的文字表示的 String
;也就是说,相当于我输入
时得到的结果
'Hello,\tI'm tabbed over!\n'
进入程序?
我知道我可以只使用 eval()
,但这似乎是一个糟糕的解决方案。我可以使用 eval()
将字符串形式的数字文字转换为实际数字,但已经有像 Number.parseInt()
这样的函数用于此目的。 String
s 有这样的吗?
试试这个:
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()
假设我有 String
文字的 String
表示(带有转义字符和所有字符);写成文字本身,它可能看起来像:
'\'Hello,\tI'm tabbed over!\n\''
如何将其内部化为 String
,等同于 String
形式的文字表示的 String
;也就是说,相当于我输入
'Hello,\tI'm tabbed over!\n'
进入程序?
我知道我可以只使用 eval()
,但这似乎是一个糟糕的解决方案。我可以使用 eval()
将字符串形式的数字文字转换为实际数字,但已经有像 Number.parseInt()
这样的函数用于此目的。 String
s 有这样的吗?
试试这个:
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()