0

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

第 1 列;第 2 列;第 3 列

值1;值2;价值3

__________________此行为空

价值7;价值8;价值9

__________________此行(最后一行)为空

我获取文件内容:

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');
  }
}
4

1 回答 1

1

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

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'));

此正则表达式将匹配\r\n或仅匹配\n\r?意味着 0 或 1 个匹配\r),然后使用全局标志 ( g),您可以将字符串中的每个匹配项替换'\n'为您作为第二个参数 ( ) 传递的字符串。

警告:试图摧毁终结者可能会导致人类的长期战斗。

于 2016-08-18T15:40:25.833 回答