【问题标题】:How to read file with \n character in it?如何读取包含 \n 字符的文件?
【发布时间】:2016-10-08 23:40:33
【问题描述】:

我了解到您可以像这样在 Node.js 中逐行读取文件:

var array = require("fs").readFileSync("file").toString().split("\n");

但是,如果文件中包含 \n 字符,它也会将其拆分,因此您无法正确获取文件行。
有没有办法可以读取带有\n 字符的文件并正确获取文件行?

例如,我将如何拆分此文件?

file
print "\n"
exec

当我运行上面的代码时,结果如下:

[ 'file', 'print "\\n"', 'exec' ]

修复?

【问题讨论】:

  • 如果文件有 \n 那么它是一个新行。你怎么能把 \n 放在一行的中间?
  • @Sylwit 只需输入\n
  • 如果你输入 \n 它并没有创建一个新行,这意味着你有 2 个字符 \ + n 这与 "\n" 上的拆分不同。
  • 试试这个split(String.fromCharCode(10))
  • @bjskistad 请不要劫持您的旧问题。对于“初始化模块时所有函数都变为全局”,ask a new question(也不会从 -2 票开始)。

标签: node.js file newline


【解决方案1】:

从上面的评论,但它和以前一样......

var array = require("fs").readFileSync("file").toString().split(String.fromCharCode(10));

【讨论】:

  • 或者你知道,只是.split(/\n/g)
【解决方案2】:

使用转义符。 var array = require("fs").readFileSync("file").toString().split("\\n");

【讨论】:

  • 您提供的示例完全符合预期 - 它读取文件并将其拆分为行。换行符只是换行符。如果不开始新行,就不能有换行符。如果要保留换行符,只需在每行末尾添加 \n 即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-19
  • 1970-01-01
相关资源
最近更新 更多