2015-06-02 25 views
1

嘿傢伙我需要一些幫助,弄清楚如何編寫這個jscript,因此它包括在開頭用逗號分隔的空字段並將它們放入數組中。jscript String.split在csv文件上,忽略前導空字段

temp = new Array; 
String = ",,field3,field4,,field6"; 
temp = String.split(regexp, -1); 

我有一個正則表達式可以挑出逗號。但我知道分裂忽略空的領域。自從我正在閱讀csv文件以來,我需要這些字段。所以我需要這個數組包含有空數據字段的空字符串。

我想什麼

溫度[0] = 「」, 溫度[1] = 「」, 溫度[3] =字段3

它是什麼

temp [0] = field3

Like t帽子,任何想法或解決方法?

回答

0

爲JScript中的比較奇特的行爲*解決方法是使用一個字符串(不是正則表達式)分隔符:

var s = ",,field3,field4,,field6"; 
var a = s.split(","); 
WScript.Echo("a:", a.length, "[" + a.join(",") + "]"); 
var b = s.split(/,{1,1}/); 
WScript.Echo("b:", b.length, "[" + b.join(",") + "]"); 

輸出:

cscript 30603770.js 
a: 6 [,,field3,field4,,field6] 
b: 3 [field3,field4,field6] 

(*)至少一個其他的JavaScript執行行爲因爲它應該:

Rhino 1.7 release 5 PRERELEASE 2013 07 16 
js> var s = ",,field3,field4,,field6"; 
js> var a = s.split(","); 
js> print("a:", a.length, "[" + a.join(",") + "]"); 
a: 6 [,,field3,field4,,field6] 
js> var b = s.split(/,/); 
js> print("b:", b.length, "[" + b.join(",") + "]"); 
b: 6 [,,field3,field4,,field6]