javascript - 在 JavaScript 中读取文件并用空行分隔数据
问题描述
我有一个文本文件,它只是:
a
b
c
1
2
3
我正在使用来自 Node 的 fs 并且我之前已经使用它读取数据,只要它只读取数据并用换行符分隔它。
我有:
var fs = require('fs')
var input = fs.readFileSync("./test.txt").toString().split("\n\n")
console.log(input)
这返回
[ 'a\r\nb\r\nc\r\n\r\n1\r\n2\r\n3' ] // [ 'abc 123']
而不是我想要的,这是
[ 'a\r\nb\r\nc', '1\r\n2\r\n3' ] // [ 'abc', '123' ]
有人可以在这里向我解释这个问题吗?此外,如果您不介意解释 \r 的含义,那就太棒了!太感谢了!
解决方案
所以我只是想出了一个方法来做到这一点,我觉得这样 :facepalm:
因此,由于它是作为一个完整的字符串出现的,所以我只是进一步拆分它:
var fs = require('fs')
var input = fs.readFileSync("./test.txt").toString().split('\n\n')
var data = input[0].split("\r\n\r\n")
console.log(data[1]) // Correctly outputs ('1\n2\n3')
我刚刚发现的另一个解决方案也有效!
var fs = require('fs')
var input = fs.readFileSync("./test.txt").toString().split('\r\n\r\n')
console.log(input[1]) // Also correctly outputs ('1\n2\n3')
抱歉这篇文章,但希望这对其他人有帮助!
推荐阅读
- android - 找不到 com.google.gms:google-services:4.1.0
- wysiwyg - Jodit 编辑器全屏导致工具栏隐藏在引导导航栏后面
- excel - nLarge 的值及其项目数据
- wildfly - “RESTEASY008550:找不到支持 ValidatorFactory 的 CDI。使用默认的 ValidatorFactor。”
- sql - 从选择语句更新多列表
- amazon-dynamodb - DynamoDB 流事件中的元数据用于删除操作?
- c++ - 如何自动返回C指针
- php - 在 cakephp 3.5 的电子邮件中未显示图像
- google-apps-script - 循环浏览文件夹和子文件夹并重命名文件
- html - 怎么做