为什么我在这个例子中处理我的字符串时得到一个额外的','?
why I get an additional ', ' when processing my strings in this example?
在 nodejs 中练习 I/O,我尝试处理包含以下行的文本文件:
{ date: 2018-02-16T16:55:35.296Z, _id: 5a870d074dfade27c4c0ce35, id: '5546721
我一行一行选择了npm包,我最初有我的代码:
let numbers = '';
const lr = new LineByLineReader('./resources/4501-ids.txt');
lr.on('line', function (line) {
let x = line.lastIndexOf("'");
let y = line.substring(x+1);
numbers += y + ', ';
console.log(y);
count++;
});
lr.on('end', function () {
numbers = numbers.substring(0, numbers.lastIndexOf(', '));
res.send(numbers);
});
我应该得到
2345, 23465, 66435,
但我有:
2345, , 23465, , 66435,
我怀疑它是马车 return 以某种方式进入,所以我尝试通过 if(y=== "\r\n") 来提取它但没有运气,最后换了一个线到:
if(y)
numbers += y + ', ';
做到了。我已经完成了,但是那里的 y 是什么使这条线加倍并且可能扮演马车 return 角色?
您的文本文件内容有点不清楚,(内容不完整+输出与您提到的行不匹配)。但是对于您期望的输出,您可以将代码更改为
let numbers = [];
const lr = new LineByLineReader('./resources/4501-ids.txt');
lr.on('line', function (line) {
let x = line.lastIndexOf("'");
let y = line.substring(x+1);
numbers.push(y);
console.log(y);
//count++; //this is not needed numbers.length will give you this
});
lr.on('end', function () {
// numbers = numbers.substring(0, numbers.lastIndexOf(', '));
res.send(numbers.toString());
});
除此之外,如果资源文件的内容是json,你可以简单地import/require它,你会得到json对象,不需要处理它行按行.
在 nodejs 中练习 I/O,我尝试处理包含以下行的文本文件:
{ date: 2018-02-16T16:55:35.296Z, _id: 5a870d074dfade27c4c0ce35, id: '5546721
我一行一行选择了npm包,我最初有我的代码:
let numbers = '';
const lr = new LineByLineReader('./resources/4501-ids.txt');
lr.on('line', function (line) {
let x = line.lastIndexOf("'");
let y = line.substring(x+1);
numbers += y + ', ';
console.log(y);
count++;
});
lr.on('end', function () {
numbers = numbers.substring(0, numbers.lastIndexOf(', '));
res.send(numbers);
});
我应该得到
2345, 23465, 66435,
但我有:
2345, , 23465, , 66435,
我怀疑它是马车 return 以某种方式进入,所以我尝试通过 if(y=== "\r\n") 来提取它但没有运气,最后换了一个线到:
if(y)
numbers += y + ', ';
做到了。我已经完成了,但是那里的 y 是什么使这条线加倍并且可能扮演马车 return 角色?
您的文本文件内容有点不清楚,(内容不完整+输出与您提到的行不匹配)。但是对于您期望的输出,您可以将代码更改为
let numbers = [];
const lr = new LineByLineReader('./resources/4501-ids.txt');
lr.on('line', function (line) {
let x = line.lastIndexOf("'");
let y = line.substring(x+1);
numbers.push(y);
console.log(y);
//count++; //this is not needed numbers.length will give you this
});
lr.on('end', function () {
// numbers = numbers.substring(0, numbers.lastIndexOf(', '));
res.send(numbers.toString());
});
除此之外,如果资源文件的内容是json,你可以简单地import/require它,你会得到json对象,不需要处理它行按行.