Ποιος είναι ο γρηγορότερος τρόπος για να αντικαταστήσετε όλες τις περιπτώσεις μιας συμβολοσειράς/χαρακτήρα σε μια συμβολοσειρά σε JavaScript; Ένα "while", ένας βρόχος "for", μια κανονική έκφραση;
var mystring = 'This is a string';
var newString = mystring.replace(/i/g, "a");
newString τώρα είναι 'Thas as a strang',
Δεν ξέρω ποιο είναι το πιο γρήγορο, αλλά ξέρω ποιο είναι το πιο ευανάγνωστο - αυτό που είναι το πιο σύντομο και το πιο απλό. Ακόμα και αν είναι λίγο πιο αργή από άλλες λύσεις, αξίζει να τη χρησιμοποιήσετε.
Έτσι, χρησιμοποιήστε:
"string".replace("a", "b");
"string".replace(/abc?/g, "def");
Και απολαύστε καλό κώδικα αντί για πιο γρήγορο (καλά... 1/100000 sec. δεν είναι διαφορά) και άσχημο. ;)
Χρησιμοποιήστε τη μέθοδο replace()
του αντικειμένου String
.
Όπως αναφέρεται στην επιλεγμένη απάντηση, η σημαία /g θα πρέπει να χρησιμοποιηθεί στην regex, προκειμένου να αντικατασταθούν όλες οι περιπτώσεις της υποσειράς στο αλφαριθμητικό.