在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');
}
}
答案 0 :(得分: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'));
&#13;
此正则表达式将匹配\r\n
或\n
(\r?
表示0 {或1 \r
匹配),然后使用全局标记({{1} })你可以replace字符串中的每个匹配项与你传递的字符串作为第二个参数(g
)。
警告:尝试destroy Terminators可能会导致人类长期争斗。