2017-09-01 3 views

Répondre

2

Il n'y a aucun moyen direct en utilisant la fonction replace builtin mais vous pouvez toujours créer une nouvelle fonction pour que:

String.prototype.betterReplace = function(search, replace, from) { 
 
    if (this.length > from) { 
 
    return this.slice(0, from) + this.slice(from).replace(search, replace); 
 
    } 
 
    return this; 
 
} 
 

 
var str = "abcedfabcdef" 
 
console.log(str.betterReplace("a","z","2"))

+0

@ user2969187 il remplace uniquement la première instance après l'index. Pour remplacer toutes les occurrences, quelque chose comme 'str.betterReplace (/ a/g," z ", 2)' – Slai

0

Shorter alternative et plus lente:

s = 'abcabcabc' 
 

 
console.log(s.replace(/a/g, (a, i) => i > 2 ? 'z' : 'a'))