非常简单的问题,但是由于某种原因,在谷歌搜索10分钟后,我在任何地方都找不到答案。使用JavaScript打印时如何显示转义符?
例:
str = "Hello\nWorld";
console.log(str);
给出:
Hello
World
当我要它给:
Hello\nWorld
如果你的目标是
str = "Hello\nWorld";
并以字符串文字形式输出它包含的内容,您可以使用JSON.stringify
:
console.log(JSON.stringify(str)); // ""Hello\nWorld""
const str = "Hello\nWorld";
const json = JSON.stringify(str);
console.log(json); // ""Hello\nWorld""
for (let i = 0; i < json.length; ++i) {
console.log(`${i}: ${json.charAt(i)}`);
}
.as-console-wrapper {
max-height: 100% !important;
}
console.log
添加外引号(至少在Chrome的实现中),但是其中的内容是字符串文字(是的,这有点令人困惑)。
JSON.stringify
接受您提供的内容(在这种情况下为字符串),并返回包含该值的有效JSON的字符串。因此,对于上面的代码,它返回一个开头引号("
),单词Hello
,反斜杠(\
),字母n
,单词World
和结尾引号("
)。字符串中的换行符在输出中以\
和进行转义,n
因为这就是在JSON中编码换行符的方式。其他转义序列也进行了类似的编码。
问题内容: JavaScript是否具有诸如PHP的(或)函数之类的内置函数,以向需要转义字符串的字符添加反斜杠? 例如,这: 这是一个带有“单引号”和“双引号”的演示字符串。 …会成为: 这是一个带有'单引号'和\“双引号\”的演示字符串。 问题答案:
我有一个字符串返回给我,其中包含转义字符。 这是一个示例字符串 " test\40gmail.com " 如您所见,它包含转义字符。我需要将其转换为其实际值,即 " test@gmail.com " 我该怎么做?
问题内容: 为了回答这个问题,我设法通过转义反斜杠来使字符串成为转义字符。 当我尝试将其概括为转义所有转义的字符时,它似乎无能为力: 但是对于特定的转义字符使用相同的方法,它确实起作用: 有一般的方法可以做到这一点吗?应包括,,,等。 问题答案: 使用r’text’将字符串定义为raw,如下面的代码所示:
问题内容: 远程服务器(不在我的控制范围内)发送一个JSON字符串,该字符串具有所有转义的字段名和值。例如,当我执行JSON.stringify(res)时,结果如下: 现在,当我执行alert(res.orderId)时,它说未定义。我认为是因为逃脱了。我该如何解决? 问题答案: 假设这 是显示 的实际值,请考虑: 请注意将JSON.stringify应用于值(这是一个 字符串 ,因为JSON
问题内容: 如果我有一个字符串变量: 我想在每一个前面加一个转义字符和 变量中 (即 未 竟逃脱字符),我该怎么做? 问题答案: 我不是在这里要求优雅,但我 认为 它可以满足您的要求(如果我误会了,请纠正我): 输出
问题内容: 我正在读取Java中的源文件,但是当我打印它(sysout)时,转义的字符不再转义。如何在Java中转义像和这样的字符? 问题答案: 您应该使用Apache Commons Text中的类(您也可以在Apache Commons Lang3中找到该类,但已弃用该类)。您会发现Apache Commons中还有许多其他产品可能对您在Java开发中遇到的其他问题有用,因此您不必重新发明轮子