我有一个像这样的字符串输入:
2 4 6
1 2 3
2
1
0
如何将每一行保存为数组?我用
input = input.split("\n");
给我:
[['2', ' ', '4', ' ', '6'], ['1', ' ', '2', ' ', '3'], ['2'], ['1'], ['0']]
然后我用正则表达式循环每个数组:
var arr = ['2', ' ', '4', ' ', '6'];
var reg = /[^\s]/g;
var arr2 = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i].match(reg)) {
console.log(arr[i]);
arr2.push(arr[i]);
}
}
arr = arr2; // arr = [ '2', '4', '6' ];
等等。有没有更快的方法呢?我尝试过复杂的正则表达式,但我失败了。输入总是4行。
答案 0 :(得分:0)
如果用空格替换换行符然后拆分成空格,它是否有效?
var arr = input.replace(/\n/g,' ').split(' ');
答案 1 :(得分:0)
您可以为\ n分割一次,为空格分割一次:
var input = "2 4 6\n1 2 3\n2\n1\n0";
input = input.split("\n");
for (var i =0; i<input.length; i++) {
var tab = input[i].split(" ") ;
alert(tab.join("-")) ;
}