Рядок Java replaceAll ()

Метод 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 ().

Цікаві статті...