2014-02-26 24 views
2

我嘗試解析ini文件,第一個字符串是空字符串,但其他還好:當我嘗試通過JS解析分裂的第一個元素是空字符串

結構:

[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

這是當你的字符串的第一件事是分隔符會發生什麼。你不能忽略第一個條目嗎? –

+2

看看這裏,其他人已經創建了正確的JavaScript INI解析器=> http://stackoverflow.com/questions/3870019/javascript-parser-for-a-string-which-contains-ini-data –

+0

可能的重複[ Javascript的:字符串拆分返回一個數組與兩個元素,而不是一個](http://stackoverflow.com/questions/12836062/javascript-string-split-returns-an-array-with-two-elements-instead-of-one ) –

回答

4

要在索引0刪除空的結果:

var array = 'abcdef'.split('a'); 
array.shift() // Removes first element from array. 

如何split()作品:
指數0:匹配的分隔符
指數1日之前的所有內容:第一結果匹配給定的分隔符
索引2:依此類推。

由於第一次匹配之前沒有任何內容,但是一個空字符串,數組中的第一個元素是一個空字符串:)。

有關拆分的詳細資料()來看看在Mozilla的文檔: (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split

相關問題