【问题标题】:How to print literal representation of a string in Node.js?如何在 Node.js 中打印字符串的文字表示?
【发布时间】:2021-02-14 20:26:35
【问题描述】:

在我的程序中有一个 REPL 循环,有时需要将给定字符串变量的字符串表示形式打印到控制台。 例如,假设我们在程序的某处定义了一个字符串变量str

var str = "two\nlines";

我想要一个打印函数(例如,调用它,printRepr)将str的字符串表示形式打印到控制台:

> printRepr(str);
"two\nlines"

我在文档中找不到这样的功能。有没有一种简单的方法来获得这种行为?

注意:我知道 Node.js REPL 有这种行为,但我需要一个函数,我将在我的程序中使用它来打印任何字符串的文字表示。当然,我不能使用 console.log() 因为在那种情况下我会得到这个:

> console.log(str);
two
lines

【问题讨论】:

  • '一\n两行'
  • 好的,我知道 Node.js repl 有这种行为,但我的程序中需要同样的行为。
  • JSON.stringify 应该可以。
  • 贝尔吉,太好了!这是最好的答案! :)

标签: javascript node.js string representation


【解决方案1】:

您可以使用util.inspect

const util = require('util');
const str = "two\nlines";
console.log(util.inspect(str));

或者使用String.rawJSON.stringify(取决于您的需要)

这也适用于浏览器

console.log(String.raw`two\nlines`);

const str = `two\nlines`;
console.log(JSON.stringify(str))

【讨论】:

  • mplungjan:我可以使用 String.raw 打印变量 str 中的字符串吗?似乎这是不可能的。 :(
  • JSON.stringify 是最好的答案(不需要任何额外的库)
猜你喜欢
  • 2012-03-02
  • 2012-06-11
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-09
  • 2022-11-04
相关资源
最近更新 更多