Γρηγορότερη μέθοδος για την αντικατάσταση όλων των περιπτώσεων ενός χαρακτήρα σε μια συμβολοσειρά

Ποιος είναι ο γρηγορότερος τρόπος για να αντικαταστήσετε όλες τις περιπτώσεις μιας συμβολοσειράς/χαρακτήρα σε μια συμβολοσειρά σε JavaScript; Ένα "while", ένας βρόχος "for", μια κανονική έκφραση;

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

newString τώρα είναι 'Thas as a strang&#39,

Σχόλια (1)

Δεν ξέρω ποιο είναι το πιο γρήγορο, αλλά ξέρω ποιο είναι το πιο ευανάγνωστο - αυτό που είναι το πιο σύντομο και το πιο απλό. Ακόμα και αν είναι λίγο πιο αργή από άλλες λύσεις, αξίζει να τη χρησιμοποιήσετε.

Έτσι, χρησιμοποιήστε:

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

Και απολαύστε καλό κώδικα αντί για πιο γρήγορο (καλά... 1/100000 sec. δεν είναι διαφορά) και άσχημο. ;)

Σχόλια (0)

Χρησιμοποιήστε τη μέθοδο replace() του αντικειμένου String.

Όπως αναφέρεται στην επιλεγμένη απάντηση, η σημαία /g θα πρέπει να χρησιμοποιηθεί στην regex, προκειμένου να αντικατασταθούν όλες οι περιπτώσεις της υποσειράς στο αλφαριθμητικό.

Σχόλια (2)