在javascript中,如何在上传csv文件时忽略空行?

时间:2016-08-18 15:32:10

标签: javascript csv blank-line

在csv文件中间有一些空行,最后一行也是空白,我怎么能忽略它们,或者说,跳转到下一个非空行?

列1;列2;栏3

值1;值2;值3

__________________此行为空

value7; value8; value9

__________________此行(最后一行)为空

我获取文件内容:

var fileString = evt.target.result; 

我这样做是为了分析每一行,然后在我的网站上显示它:

var lines = fileString.split("\r\n"); 

是否有可能编写一个检查空白行并替换它们的循环?像这样:

var pattern = /\r?\n\r?\n/g;

for(var i = 0; i < fileString.length; i++){
  if(lines === null){
     lines.replace(pattern, '\n');
  }
}

1 个答案:

答案 0 :(得分:1)

如果行之间有空行,则表示连续有两个行终止符。大多数情况下,这意味着您拥有\n\n,但在Windows上,行终止符前面有一个回车符,表示\r\n\r\n。要消除空行,请用单个终止符替换任何双重终止符。

&#13;
&#13;
var input = 'a,b,c\r\n' +
            'd,e,f\r\n' +
            '\n' +
            'g,h,i\n' +
            '\n';
var pattern = /\r?\n\r?\n/g;
console.log(input.replace(pattern, '\n'));
&#13;
&#13;
&#13;

此正则表达式将匹配\r\n\n\r?表示0 {或1 \r匹配),然后使用全局标记({{1} })你可以replace字符串中的每个匹配项与你传递的字符串作为第二个参数(g)。

警告:尝试destroy Terminators可能会导致人类长期争斗。