2016-06-21 75 views
-3

我遇到的情況,我有一個字符串「abcDuplicate1」檢查字符串包含重複的字和更新「abcDuplicate2」字符串再次檢查字符串更新其爲「abcDuplicate3」等。 我們如何使用分割方法拆分上述字符串後重復正則表達式來拆分某些單詞之後的字符串的JavaScript

+0

請清楚告訴我們輸入和預期輸出。 –

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split –

+0

這有助於(字'Duplicate'是很難的,因爲JS不允許拆分後長度爲0的lookbehinds):'/(.*複製)(*)/ EXEC( 'abcDuplicate1')' – Sam

回答

1

不幸的是,JS的正則表達式實現不允許0-length lookbehinds(或類似PCRE's \K)。這意味着它不像「重複」匹配後的分割一樣簡單。但是,我們可以捕獲「重複」和隨後的數字,並使用string.replace()替換它們。

var string = 'abcDuplicate1', 
    regex = /(Duplicate)(\d+)/; 

string = string.replace(regex, function(match, duplicate, number) { 
    var newNumber = parseInt(number) + 1; 
    return duplicate + newNumber; 
}); 

console.log(string); // abcDuplicate2 
相關問題