2013-03-15 5 views
-1

Si j'ai la chaîne "hello" et que je veux remplacer le deuxième et le troisième caractère par _, comment puis-je faire cela, étant donné seulement l'emplacement de la sous-chaîne, et non ce qu'elle est réellement.Comment remplacer les caractères par index dans une chaîne JavaScript?

+0

J'ai essayé la méthode replace(), mais vous avez besoin d'une sous-chaîne pour cela, non seulement l'emplacement @Sednus – vcapra1

+0

S'il vous plaît voir: https://developer.mozilla.org/ en-US/docs/JavaScript/Référence/Global_Objects/String/sous-chaîne – sweetamylase

Répondre

8
str = str.replace(/^(.)../, '$1__'); 

Les . correspond à tout caractère sauf un saut de ligne.

Le ^ représente le début de la chaîne. Le () capture le caractère correspondant au premier . afin qu'il puisse être référencé dans la chaîne de remplacement par $1.

Tout ce qui correspond à l'expression régulière est remplacée par la chaîne de remplacement '$1__', de sorte que les trois premiers caractères au début de la chaîne sont mis en correspondance et remplacé par ce qui a été compensée par la première ., plus __.

+0

pouvez-vous expliquer ce – vcapra1

+0

[cette page] (https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions) est vraiment utile pour en savoir plus sur les expressions régulières JavaScript. – jahroy

+0

Il peut, mais il est préférable de regarder en remplacer() et des expressions régulières: http://www.w3schools.com/jsref/jsref_replace.asp /et ce/ http: // www. regular-expressions.info/reference.html – turiyag

Questions connexes