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' ;
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 ;)
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