Metóda Java String replaceAll () nahradí každý podreťazec, ktorý sa zhoduje s regulárnym výrazom reťazca v zadanom texte.
Syntax replaceAll()
metódy je:
string.replaceAll(String regex, String replacement)
Reťazec je tu predmetom String
triedy.
Parametre replaceAll ()
replaceAll()
Metóda má dva parametre.
- regex - regex (môže to byť typický reťazec), ktorý sa má nahradiť
- replacement - zodpovedajúce podreťazce sa nahradia týmto reťazcom
návratová hodnota replaceAll ()
replaceAll()
Metóda vracia nový reťazec, kde každý výskyt zodpovedajúce čiastkového nahradený s náhradné reťazec.
Príklad 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 @ ) )
Vo vyššie uvedenom príklade "\d+"
je to regulárny výraz, ktorý sa zhoduje s jednou alebo viacerými číslicami. Ak sa chcete dozvedieť viac, navštívte Java regex.
Unikajúce znaky v znaku replaceAll ()
replaceAll()
Metóda môže trvať regex alebo typický reťazec ako prvý argument. Je to preto, lebo typickým reťazcom je sám o sebe regex.
V regulárnom výraze existujú znaky, ktoré majú osobitný význam. Tieto metaznaky sú:
$. | ? * + () () ()
Ak potrebujete zosúladiť podreťazec obsahujúci tieto metaznaky, môžete týmto znakom uniknúť pomocou metódy alebo použiť túto
replace()
metódu.
// 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 ) )
Ako vidíte, pri použití tejto replace()
metódy nemusíme uniknúť metaznakom. Ak sa chcete dozvedieť viac, navštívte stránku: Java String replace ()
Ak potrebujete nahradiť iba prvý výskyt vyhovujúceho podreťazca, použite metódu Java String replaceFirst ().