Строка Java replaceAll ()

Метод Java String replaceAll () заменяет каждую подстроку, которая соответствует регулярному выражению строки, указанным текстом.

Синтаксис replaceAll()метода:

 string.replaceAll(String regex, String replacement)

Здесь строка - это объект Stringкласса.

replaceAll () Параметры

replaceAll()Метод принимает два параметра.

  • regex - регулярное выражение (может быть обычной строкой), которое необходимо заменить
  • замена - соответствующие подстроки заменяются этой строкой

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 regex.

Экранирование символов в 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 ().

Интересные статьи...