【问题标题】:Print new line character as string in javascript在javascript中将换行符打印为字符串
【发布时间】:2021-10-08 10:41:39
【问题描述】:

我正在做一个经常处理字符串的项目。我需要显示字符串中使用了哪种分隔符。我从 API 调用中获得了该值。如何将分隔符打印到控制台?

delimiter = '\n';

我想在屏幕上打印。

console.log(delimiter);
// prints "
          "

我需要它来打印 \n 而不是字面上打印换行符。

【问题讨论】:

  • delimiter = '\\n';,也许?
  • 它是通过API调用设置的,我无权访问。

标签: javascript angular string newline


【解决方案1】:

字符\n 是用于换行的转义序列。

这就是为什么如果你想在控制台中看到它,你需要在字符串上使用替换。像这样:

console.log(delimiter.replace('\n', '\\n'));

额外的反斜杠转义\n,因此不再将其视为换行符。

更多关于转义序列的信息可以在这里找到:

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

【讨论】:

  • 仅代码的答案被认为质量差,请解释为什么需要额外的反斜杠。
  • 查看更新.....
【解决方案2】:

要显示已经换行的(多)行文本,请使用这个?

有一点正则表达式,它删除了\r 和\n

const server = 'a\na';

const client = server.replace(/\r?\n/gm, '\\n');

console.log(1, server);
console.log(2, client);

【讨论】:

    【解决方案3】:

    使用JSON.stringify(),您可以将实际的换行符(无论它可能是什么)转换为其字符串化版本。然后在去掉前导和尾随双引号后,你会得到你所追求的:

    console.log(JSON.stringify(delimiter).replaceAll('"',''));
    

    更新:

    如何处理字符串中的双引号和控制字符 用换行符分隔?

    这应该可以解决问题:

    const delimiter = '\n';
    const delimitedText = 'a\nb\nc\nd';
    const stringifiedDelimiter = JSON.stringify(delimiter).replaceAll('"','');
    console.log(delimitedText.replaceAll(delimiter, stringifiedDelimiter));
    

    【讨论】:

    • 如何处理包含双引号和/或除换行符以外的控制字符的字符串中的双引号?
    • 请查看更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 2015-01-18
    相关资源
    最近更新 更多