Αντικατάσταση συμβολοσειράς JavaScriptΌλα ()

Η μέθοδος JavaScript ReplAll () επιστρέφει μια νέα συμβολοσειρά με όλες τις αντιστοιχίες ενός μοτίβου να αντικαθίσταται από μια αντικατάσταση.

Η σύνταξη του replaceAll()είναι:

 str.replaceAll(pattern, replacement)

Εδώ, strείναι μια συμβολοσειρά.

αντικατάστασηAll () παράμετρος

Η replaceAll()μέθοδος περιλαμβάνει:

  • pattern - είτε ένα υπόστρωμα είτε ένα regex που πρέπει να αντικατασταθεί
  • replacement- το patternαντικαθίσταται με αυτό replacement(μπορεί να είναι συμβολοσειρά ή συνάρτηση)

Επιστροφή αξία από την αντικατάστασηΌλα ()

  • Η replaceAll()μέθοδος επιστρέφει μια νέα συμβολοσειρά, με όλες τις αντιστοιχίες ενός μοτίβου να αντικαθίστανται από μια αντικατάσταση.

Σημείωση: Ένα RegExpχωρίς την καθολική σημαία (" g ") θα ρίξει ένα TypeError.

Παράδειγμα 1: Χρήση της αντικατάστασης All ()

 const text = "Java is awesome. Java is fun."; // passing a string as the first parameter let pattern = "Java"; let new_text = text.replaceAll(pattern, "JavaScript"); console.log(new_text); // passing a regex as the first parameter pattern = /Java/g; new_text = text.replaceAll(pattern, "JavaScript"); console.log(new_text);

Παραγωγή

Η JavaScript είναι καταπληκτική. Το JavaScript είναι διασκεδαστικό Το JavaScript είναι φοβερό. Το JavaScript είναι διασκεδαστικό.

Αντικαταστήστε χωρίς να λάβετε υπόψη κεφαλαία / πεζά

Η replaceAll()μέθοδος είναι διάκριση πεζών-κεφαλαίων. Για να πραγματοποιήσετε αντικατάσταση χωρίς διάκριση πεζών-κεφαλαίων, πρέπει να χρησιμοποιήσετε ένα regex με έναν iδιακόπτη (αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων).

Παράδειγμα 2: Αντικατάσταση χωρίς κεφαλαία

 const text = "javaSCRIPT JavaScript"; // all occurrences of javascript is replaced let pattern = /javascript/gi; // case-insensitive and global search let new_text = text.replaceAll(pattern, "JS"); console.log(new_text); // JS JS

Παραγωγή

 JS JS

Παράδειγμα 3: Λειτουργία μεταβίβασης ως αντικατάστασης

Μπορείτε επίσης να μεταβιβάσετε μια συνάρτηση (αντί για μια συμβολοσειρά) ως τη δεύτερη παράμετρο στη replaceAll()μέθοδο.

 const text = "3.1415"; // generate a random digit between 0 and 9 function generateRandomDigit() ( return Math.floor(Math.random() * 10); ) // regex to match a digit const pattern = /d/g; const new_text = text.replaceAll(pattern, generateRandomDigit); console.log(new_text);

Παραγωγή

 4.3518

Ενδέχεται να έχετε διαφορετική έξοδο όταν εκτελείτε αυτό το πρόγραμμα. Είναι επειδή το πρώτο ψηφίο σε κείμενο αντικαθίσταται με ένα τυχαίο ψηφίο μεταξύ 0 και 9 .

Συνιστώμενη ανάγνωση: Αντικατάσταση συμβολοσειράς JavaScript ()

ενδιαφέροντα άρθρα...