2010-11-26 97 views
1

我很努力地弄清楚如何在每隔3次出現「|」字符。這是我輸入:如何每3次出現一個字符就分割一個字符串?

123 | name1 | description | $ 2.980,00 | 234 | name2 | description | $ 2.980,00 | 345 | name3 | description | $ 2.980,00 

這將是我想要的輸出:

var array[0] = "123 | name1 | description | $ 2.980,00" 
var array[1] = "234 | name2 | description | $ 2.980,00" 
... 
+2

它是否必須使用正則表達式? – 2010-11-26 20:16:21

+0

我不知道,如果有另一種方式做到這一點沒有問題:) – mateusmaso 2010-11-26 20:17:03

回答

2

我會做這種方式(如鏗提到的,這就是所謂的令牌化):

var myarray=text.split("|"); 
var json = new Array(); 
for (var i=0; i+3<myarray.length; i+=4) { 
json.push({id: myarray[i], name: myarray[i+1], 
     desc: myarray[i+2], price: myarray[i+3]}); 
} 
相關問題