Méthode la plus rapide pour remplacer toutes les instances d'un caractère dans une chaîne de caractères

Quel est le moyen le plus rapide de remplacer toutes les occurrences d'une chaîne de caractères/caractères dans une chaîne de caractères en JavaScript ? Une boucle while, une boucle for, une expression régulière ?

var mystring = 'This is a string';
var newString = mystring.replace(/i/g, "a");

newString est maintenant 'Thas as a strang&#39 ;

Commentaires (1)

Je ne sais pas ce qui est le plus rapide, mais je sais ce qui est le plus lisible - ce qui est le plus court et le plus simple. Même si elle est un peu plus lente qu'une autre solution, elle vaut la peine d'être utilisée.

Donc, utilisez :

 "string".replace("a", "b");
 "string".replace(/abc?/g, "def");

Et profitez d'un bon code au lieu d'un code plus rapide (enfin... 1/100000 sec. n'est pas une différence) et moche ;)

Commentaires (0)

Utilisez la méthode [replace()][1] de l'objet String.

Comme indiqué dans la réponse choisie, le drapeau /g doit être utilisé dans la regex, afin de remplacer toutes les occurrences de la sous-chaîne dans la chaîne.

[1] : http://www.w3schools.com/jsref/jsref_replace.asp [2] : https://stackoverflow.com/questions/2116558/fastest-method-to-replace-all-instances-of-a-character-in-a-string/2116614#2116614

Commentaires (2)