【发布时间】:2014-12-14 10:26:38
【问题描述】:
我正在写 JScript 以使用 Windows Script Host 运行。
假设我有一个简单的字符串变量:
s1 = '\n'
我想从两个单独的字符构建s2:\ 和n。
天真我想做:
s2 = '';
s2 += '\\';
s2 += 'n';
但这当然会导致s1 != s2
我能否以与s1 具有相同解释意义的方式构建s2?
示例:
WScript.Echo("1\n2")
var s;
s += '1';
s += '\\';
s += 'n';
s += '2';
WScript.Echo(s)
我希望WScript.Echo() 打印完全相同的东西。
注意
我很清楚这个问题看起来完全是白痴。如果我在不知道所有细节的情况下阅读它,我可能会这么想。我不希望任何人了解其目的。只是想知道这是否可行,还是我需要重新考虑整个事情。
【问题讨论】:
-
试试
s2 = '\\n';,虽然这仍然不等于s1。 -
整个挑战在于
s2是由s1字符构建的,与它们在源文件中的写入方式完全相同(而不是它们被解释的方式)。我无法按照您建议的方式构建s2。 -
“写在源文件中”?作为字符串还是真正的换行符?如果是后者,请注意,Windows 的换行符实际上是
\r\n。不过,这正是 两个 字符,而不是四个。
标签: javascript string escaping jscript wsh