Η μέθοδος Java String Repl () αντικαθιστά κάθε αντιστοίχιση εμφανίσεων του παλιού χαρακτήρα / κειμένου στη συμβολοσειρά με το νέο χαρακτήρα / κείμενο.
Η σύνταξη της replace()
μεθόδου είναι είτε
string.replace(char oldChar, char newChar)
ή
string.replace(CharSequence oldText, CharSequence newText)
Εδώ, το string είναι ένα αντικείμενο της String
κλάσης.
αντικαταστήστε () Παράμετροι
Για να αντικαταστήσετε έναν μόνο χαρακτήρα, η replace()
μέθοδος παίρνει αυτές τις δύο παραμέτρους:
- oldChar - ο χαρακτήρας που θα αντικατασταθεί στη συμβολοσειρά
- newChar - οι χαρακτήρες που ταιριάζουν αντικαθίστανται με αυτόν τον χαρακτήρα
Για να αντικαταστήσετε ένα υπόστρωμα, η replace()
μέθοδος παίρνει αυτές τις δύο παραμέτρους:
- oldText - το υπόστρωμα που θα αντικατασταθεί στη συμβολοσειρά
- newText - ταιριάζοντας υποστρώματα αντικαθίστανται με αυτήν τη συμβολοσειρά
αντικαταστήστε () Επιστροφή τιμή
- Η
replace()
μέθοδος επιστρέφει μια νέα συμβολοσειρά όπου κάθε εμφάνιση του αντίστοιχου χαρακτήρα / κειμένου αντικαθίσταται με το νέο χαρακτήρα / κείμενο.
Παράδειγμα 1: Χαρακτήρες Java String Repl ()
class Main ( public static void main(String() args) ( String str1 = "abc cba"; // all occurrences of 'a' is replaced with 'z' System.out.println(str1.replace('a', 'z')); // zbc cbz // all occurences of 'L' is replaced with 'J' System.out.println("Lava".replace('L', 'J')); // Java // character not in the string System.out.println("Hello".replace('4', 'J')); // Hello ) )
Σημείωση: Εάν ο χαρακτήρας που πρόκειται να αντικατασταθεί δεν είναι στη συμβολοσειρά, replace()
επιστρέφει την αρχική συμβολοσειρά.
Παράδειγμα 2: Αντικατάσταση συμβολοσειράς Java () Substrings
class Main ( public static void main(String() args) ( String str1 = "C++ Programming"; // all occurrences of "C++" is replaced with "Java" System.out.println(str1.replace("C++", "Java")); // Java Programming // all occurences of "aa" is replaced with "zz" System.out.println("aa bb aa zz".replace("aa", "zz")); // zz bb zz zz // substring not in the string System.out.println("Java".replace("C++", "C")); // Java ) )
Σημείωση: Εάν το υπόστρωμα που πρόκειται να αντικατασταθεί δεν βρίσκεται στη συμβολοσειρά, replace()
επιστρέφει την αρχική συμβολοσειρά.
Είναι σημαντικό να σημειωθεί ότι η replace()
μέθοδος αντικαθιστά τα υποστρώματα από την αρχή έως το τέλος. Για παράδειγμα,
"zzz".replace("zz", "x") // xz
Η έξοδος του παραπάνω κώδικα είναι xz, όχι zx. Είναι επειδή η replace()
μέθοδος αντικατέστησε το πρώτο zz με x.
Εάν πρέπει να αντικαταστήσετε τα υποστρώματα με βάση μια κανονική έκφραση, χρησιμοποιήστε τη μέθοδο Java String ReplAll ().