Η μέθοδος Java String Replet All () αντικαθιστά κάθε υπόστρωμα που ταιριάζει με το regex της συμβολοσειράς με το καθορισμένο κείμενο.
Η σύνταξη της replaceAll()
μεθόδου είναι:
string.replaceAll(String regex, String replacement)
Εδώ, το string είναι ένα αντικείμενο της String
κλάσης.
Αντικατάσταση παραμέτρων ()
Η replaceAll()
μέθοδος παίρνει δύο παραμέτρους.
- regex - ένα regex (μπορεί να είναι μια τυπική συμβολοσειρά) που πρέπει να αντικατασταθεί
- αντικατάσταση - αντιστοίχιση υποστρώματα αντικαθίστανται με αυτήν τη συμβολοσειρά
ReplAll () Επιστροφή τιμή
- Η
replaceAll()
μέθοδος επιστρέφει μια νέα συμβολοσειρά όπου κάθε εμφάνιση του αντίστοιχου υποστρώματος αντικαθίσταται με τη συμβολοσειρά αντικατάστασης .
Παράδειγμα 1: Java String ReplAll ()
class Main ( public static void main(String() args) ( String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; // regex for sequence of digits String regex = "\d+"; // all occurrences of "aa" is replaceAll with "zz" System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac // replace a digit or sequence of digits with a whitespace System.out.println(str2.replaceAll(regex, " ")); // Learn Java @ ) )
Στο παραπάνω παράδειγμα, "\d+"
είναι μια κανονική έκφραση που ταιριάζει με ένα ή περισσότερα ψηφία. Για να μάθετε περισσότερα, επισκεφτείτε το Java regex.
Διαφυγή χαρακτήρων σε αντικατάσταση Όλα ()
Η replaceAll()
μέθοδος μπορεί να πάρει ένα regex ή μια τυπική συμβολοσειρά ως το πρώτο όρισμα. Είναι επειδή μια τυπική συμβολοσειρά από μόνη της είναι ένα regex.
Στο regex, υπάρχουν χαρακτήρες που έχουν ιδιαίτερη σημασία. Αυτοί οι μεταχαρακτήρες είναι:
$. | ; * + () () ()
Εάν πρέπει να αντιστοιχίσετε το substring που περιέχει αυτούς τους μεταχαρακτήρες, μπορείτε είτε να ξεφύγετε από αυτούς τους χαρακτήρες χρησιμοποιώντας είτε να χρησιμοποιήσετε τη
replace()
μέθοδο.
// Program to replace the + character class Main ( public static void main(String() args) ( String str1 = "+a-+b"; String str2 = "Learn223Java55@"; String regex = "\+"; // replace "+" with "#" using replaceAll() // need to espace "+" System.out.println(str1.replaceAll("\+", "#")); // #a-#b // replace "+" with "#" using replace() System.out.println(str1.replace("+", "#")); // #a-#b ) )
Όπως μπορείτε να δείτε, όταν χρησιμοποιούμε τη replace()
μέθοδο, δεν χρειάζεται να ξεφύγουμε από τους μεταχαρακτήρες. Για να μάθετε περισσότερα, επισκεφθείτε: Java String Αντικατάσταση ()
Αν πρέπει να αντικαταστήσετε μόνο την πρώτη εμφάνιση του αντίστοιχου υποστρώματος, χρησιμοποιήστε τη μέθοδο Java String ReplFirst ().