2016-06-21 81 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 
相关问题