Метод Java String replaceAll () замінює кожну підрядок, яка відповідає регулярному виразу рядка, із зазначеним текстом.
Синтаксис replaceAll()
методу:
string.replaceAll(String regex, String replacement)
Тут рядок є об’єктом String
класу.
replaceAll () Параметри
replaceAll()
Метод приймає два параметри.
- регулярний вираз - регулярний вираз (може бути типовим рядком), який слід замінити
- replacement - відповідні підрядки замінюються цим рядком
replaceAll () Повернене значення
replaceAll()
Метод повертає новий рядок , в якій кожне входження збігається подстроки замінюється на заміну рядка.
Приклад 1: Java String replaceAll ()
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.
Втеча символів у replaceAll ()
replaceAll()
Метод може приймати регулярний вираз або типову рядок в якості першого аргументу. Це тому, що типовий рядок сам по собі є регулярним виразом.
У регулярному виразі є символи, що мають особливе значення. Ці метасимволи:
$. | ? * + () () ()
Якщо вам потрібно зіставити підрядок, що містить ці метасимволи, ви можете або втекти з цих символів, використовуючи або використовуючи
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 replace ()
Якщо вам потрібно замінити лише перше входження відповідного підрядка, використовуйте метод Java String replaceFirst ().