web-dev-qa-db-fra.com

Utilisation de .replace () à un index spécifique

Existe-t-il une fonction pouvant remplacer une chaîne dans une chaîne une fois à un index spécifique? Exemple:

var string1="my text is my text";
var string2="my";
string1.replaceAt(string2,"your",10);

et la sortie résultante serait "mon texte est votre texte", ou:

var string1="my text is my text";
var string2="my";
string1.replaceAt(string2,"your",0);

auquel cas le résultat serait "votre texte est mon texte". 

12
Joe Thomas
function ReplaceAt(input, search, replace, start, end) {
    return input.slice(0, start)
        + input.slice(start, end).replace(search, replace)
        + input.slice(end);
}

jsfiddle ici

PS. modifiez le code pour ajouter des contrôles vides, des contrôles de limites, etc.

5
Alex

Dans la barre des "questions connexes", cette ancienne réponse semble s’appliquer à votre cas. Remplacer un seul caractère (dans la question référencée) n’est pas très différent du remplacement d’une chaîne.

Comment remplacer un caractère à un index particulier en JavaScript?

0
Knetic