【问题标题】:Display \n and \r\n characters in Dev Tools of a browser在浏览器的开发工具中显示 \n 和 \r\n 字符
【发布时间】:2021-09-10 16:52:21
【问题描述】:

在 JavaScript 中,我的字符串包括换行符,例如 var s = "123\n456"var s = "123\r\n456"

使用console.log(s),浏览器的开发工具会在控制台中显示真正的换行符。

我想知道如何逐字打印字符串。例如,我想在开发工具或浏览器中查看123\n456123\r\n456

有人可以帮忙吗?

【问题讨论】:

  • 什么控制台从字面上显示它们?大多数浏览器控制台显示类似字符串文字的显示(即,其中包含\n)。

标签: javascript ascii


【解决方案1】:

你可以console.log(JSON.stringify(s))

【讨论】:

    【解决方案2】:

    您可以使用 String.raw 和模板文字轻松显示原始字符串

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw

    const rawString = String.raw`Hello\nHow do you do?`;
    console.log(rawString);

    如果不能直接使用模板文字,可以将convert the string 转化为模板文字,然后继续。请注意,我的链接方法包括 eval,根据使用情况可能存在安全风险。

    const myString = "Hello\nWorld";
    const myRawString = eval("String.raw`"+myString+"`");
    

    【讨论】:

    • OP 有一个字符串,而不是模板文字。您已经向他们展示了如何使用模板文字来执行此操作。
    • 更新了将字符串转换为模板文字?
    • 这不是 OP 想要的 OP 有带有实际换行符的字符串,他希望在控制台中显示为 C 风格的转义序列
    • 您的更新将导致myString === myRawString 成为true(假设它不会失败,因为字符串中有"),所以这没有帮助。 const myString = "123\n456"; const myRawString = eval("String.raw`"+myString+"`"); console.log(myRawString === myString);(显示true)很可能有String.raw 的方式来做到这一点,但这不是它,JSON.stringify 效果很好,所以... :-)
    猜你喜欢
    • 2011-09-13
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多