我尝试解析ini文件,第一个字符串是空字符串,但其他字符串还可以:
结构:
[sensor1]
param1: value
[sensor2]
param1 : value
param2 : value
我的代码是:
success: function(data) {
var parsedArr = data.split(/\s*\[(.*)\]\s*\n/);
console.log(parsedArr);
}
结果:
0: ""
1: "sensor1"
2: "name: brightness temperature↵
3: "sensor2"
4: "name: brightness temp. IR↵device: HATPRO↵group:
length: 5
还好吗?又该如何解决呢?
提前致谢:)
最佳答案
删除索引 0 处的空结果:
var array = 'abcdef'.split('a');
array.shift() // Removes first element from array.
split(1)
的工作原理:
索引 0:匹配分隔符之前的所有内容
索引 n:匹配分隔符之后直到下一次出现匹配分隔符或 endofstring
的第 n 个结果。
由于第一个匹配项之前没有任何内容,并且第一个匹配项正好发生在字符串的开头,因此数组中的第一个元素是空字符串。
有关 split() 的详细文档,请查看 Mozilla 文档: (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)
关于javascript - 当我尝试通过 js split 解析时,第一个元素是空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22044461/