【问题标题】:How to differentiate between existing newlines and \n in variable?如何区分变量中现有的换行符和 \n?
【发布时间】:2021-09-08 21:34:53
【问题描述】:

我有这样的文字:

123\n456
789

如果换行符是使用\n 或现有换行符创建的,我如何将这个文本保存在变量中而不丢失信息? 如果我用这样的模板字符串保存它:

var str = `123\n456
789`;

保存的变量将是123\n456\n789。有没有办法区分这两者?

【问题讨论】:

  • 不,没有。是同一个字符串。只是格式化代码的不同方法。如果您想要不同的字符串(实际表示文本),则必须转义反斜杠,即使在模板字符串中也是如此。

标签: javascript string newline


【解决方案1】:

如何将此文本保存在变量中,作为包含\n 序列而不是换行符的字符串?

您需要转义字符串文字中的反斜杠:

var str = `123\\n456
789`; //      ^^

或者您可以使用带有String.raw 标记的模板文字:

var str = String.raw`123\n456
789`; //  ^^^^^^^^^^

【讨论】:

    【解决方案2】:

    这是你要找的吗?

    var str = `123\\n456
    789`;
    console.log(str);
    

    【讨论】:

      猜你喜欢
      • 2015-11-09
      • 2020-11-15
      • 2016-11-14
      • 2016-03-12
      • 2019-03-07
      • 1970-01-01
      • 2014-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多