2015-06-26 29 views
1

有沒有一種方法可以將字符串分成基於值的數組?例如,如果我有一個字符串"1119994444455"我怎樣才能把它變成[111, 999,44444,55]?我試圖做到這一點,但我的方法似乎並沒有工作。如何根據javascript中的值拆分字符串

我的代碼:

var nums = []; 

for(i in input){ 
    i = parseInt(i); 

    if(i - beforeI != 0 && beforeI >= 0){ 
     insertionIndex++; 
    } 

    nums[insertionIndex] += i.toString(); 
    console.log(nums[insertionIndex]); 

    var beforeI = i 
} 

回答

2

你可以簡單地使用正則表達式,像這樣

console.log("1119994444455".match(/(\d)\1*/g)); 
// [ '111', '999', '44444', '55' ] 

這裏,(\d)捕獲數量和\1*匹配零個或多個相同獲取的號碼的。最後的g確保我們在找到第一次這樣的比賽後不會停止。