如何从节点中的文本文件中删除换行符空白?
我正在写一个程序,给我随机的歌名,我已经input到一个文本文件。 这是我迄今为止的代码:
var fs = require('fs'), path = require('path'); fs.readFile('names.txt', 'utf8', function(err, data) { var arr = data.toString().split('\n'), names = []; for (var i in arr) { if (arr[i].length !== 0) { names.push(arr[i].trim()); } } console.log(names[1]); });
我注意到,每当我把一个奇数的console.log()语句,它返回空的换行符/空白。 我怎样才能解决这个问题或删除它? 谢谢你的帮助!
如果没有完整的细节,主要是文本文件的内容,你的情况并不完全清楚,但你可能打算在if之前修剪。
尝试像这样:
for (var i in arr) { var trimmed = arr[i].trim(); if (trimmed .length !== 0) { names.push(trimmed); } }
另外,你不应该在数组中for(.. in ..)
( 见这里 )。
如果你使用for(var i = 0; i < arr.length; i++)
(你可以保持原样)
或者:
var names = data.toString().split('\n').map(function(line){ return line.trim(); }).filter(Boolean);