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

Η μέθοδος 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 ().

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