Η συνάρτηση REGEXREPLACE σάς επιτρέπει να αντικαταστήσετε κείμενο από μια συμβολοσειρά με μια άλλη συμβολοσειρά, με βάση μια παρεχόμενη κανονική παράσταση ("regex").
Σύνταξη
Η συνάρτηση REGEXREPLACE αντικαθιστά συμβολοσειρές μέσα στο παρεχόμενο κείμενο που ταιριάζει με το μοτίβο με την αντικατάσταση.
Η σύνταξη της συνάρτησης REGEXEXTRACT είναι:
REGEXREPLACE(κείμενο; μοτίβο; αντικατάσταση; [εμφάνιση]; [case_sensitivity])
| Όρισμα | Περιγραφή |
|---|---|
|
κείμενο (υποχρεωτικό) |
Το κείμενο ή η αναφορά σε κελί που περιέχει το κείμενο στο οποίο θέλετε να αντικαταστήσετε τις συμβολοσειρές. |
|
μοτίβο (υποχρεωτικό) |
Η κανονική παράσταση ("regex") που περιγράφει το μοτίβο του κειμένου που θέλετε να αντικαταστήσετε. |
|
αντικατάσταση (υποχρεωτικό) |
Το κείμενο στο οποίο θέλετε να αντικαταστήσετε τις εμφανίσεις του μοτίβου. |
| Εμφάνιση | Καθορίζει την εμφάνιση του μοτίβου που θέλετε να αντικαταστήσετε. Από προεπιλογή, η εμφάνιση είναι 0, η οποία αντικαθιστά όλες τις εμφανίσεις. Ένας αρνητικός αριθμός αντικαθιστά αυτή την παρουσία, κάνοντας αναζήτηση από το τέλος. |
| case_sensitivity | Καθορίζει εάν η συμφωνία κάνει διάκριση πεζών-κεφαλαίων. Από προεπιλογή, η αντιστοίχιση κάνει διάκριση πεζών-κεφαλαίων. Εισαγάγετε ένα από τα εξής: 0: Διάκριση πεζών-κεφαλαίων 1: Χωρίς διάκριση πεζών-κεφαλαίων |
Σημείωση
Κατά τη σύνταξη μοτίβων regex, μπορούν να χρησιμοποιηθούν σύμβολα που ονομάζονται «διακριτικά» που ταιριάζουν με μια ποικιλία χαρακτήρων. Αυτά είναι μερικά απλά διακριτικά για αναφορά:
- "[0-9]": οποιοδήποτε αριθμητικό ψηφίο
- "[a-z]": ένας χαρακτήρας στην περιοχή από το a έως το ω
- ".": οποιοσδήποτε χαρακτήρας
- "a": ο χαρακτήρας "a"
- "a*": μηδέν ή περισσότερα "a"
- "A+": Ένα ή περισσότερα "A"
- Όλες οι κανονικές εκφράσεις αυτής της συνάρτησης, καθώς και οι REGEXTEST και REGEXEXTRACT χρησιμοποιούν τη «γεύση» PCRE2 του regex.
- Το REGEXEXTRACT επιστρέφει πάντα τιμές κειμένου. Μπορείτε να μετατρέψετε αυτά τα αποτελέσματα ξανά σε αριθμό με τη συνάρτηση VALUE.
Παραδείγματα
Αντιγράψτε τα δεδομένα του παραδείγματος και επικολλήστε τα στο κελί A1 ενός νέου φύλλου εργασίας του Excel. Αν χρειαστεί, μπορείτε να ρυθμίσετε το πλάτος των στηλών για να βλέπετε όλα τα δεδομένα.
Παράδειγμα 1
Χρησιμοποιήστε τη συνάρτηση REGEXREPLACE για να ανωνυμοποιήσετε αριθμούς τηλεφώνου αντικαθιστώντας τα πρώτα 3 ψηφία τους με ***, χρησιμοποιώντας μοτίβο
"[0-9]+-"
| Δεδομένα |
|---|
| Σόνια Ρις(378) 555-4195 Άγγελος Μπράουν(878) 555-8622 Μπλέικ Μάρτιν(437) 555-8987 Γουίλιαμ Κίρμπι(619) 555-4212 Έιβερι Σμιθ(579) 555-5658 Πάρκερ Τζόουνς(346) 555-0925 Λίαμ Μικρό(405) 555-0887 Χόλι Ρις(666) 555-1872 |
| Τύποι |
| =REGEXREPLACE(A2;"[0-9]+-","***-") |
Η παρακάτω εικόνα δείχνει το αποτέλεσμα. Θα χρειαστεί να αναδιπλώσετε το κείμενο στο κελί A4 για να εμφανίσετε τις αλλαγές γραμμής στο αποτέλεσμα.
Παράδειγμα 2
Χρησιμοποιήστε το REGEXREPLACE με ομάδες λήψης για να διαχωρίσετε και να αναδιατάξετε το όνομα και το επώνυμο, χρησιμοποιώντας το μοτίβο: "([A-Z][a-z]+)([A-Z][a-z]+)"; και αντικατάσταση: "$2, $1".
Σημείωση: Οι ομάδες καταγραφής ορίζονται σε μοτίβο με παρενθέσεις "()" και μπορούν να αναφέρονται ως " $n". Σε αυτό το παράδειγμα, οι τιμές $1 και $2 αναφέρονται στην πρώτη και τη δεύτερη ομάδα καταγραφής, αντίστοιχα.
| Δεδομένα |
|---|
| ΣόνιαΜπράουν |
| Τύποι |
| =REGEXREPLACE(A2;"([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1") |
Η παρακάτω εικόνα εμφανίζει τα αποτελέσματα.