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