Metoda Java String replaceAll () nahradí každý podřetězec, který odpovídá regulárnímu výrazu řetězce zadaným textem.
Syntaxe replaceAll()
metody je:
string.replaceAll(String regex, String replacement)
Zde je řetězec objektem String
třídy.
replaceAll () parametry
replaceAll()
Metoda má dva parametry.
- regex - regex (může to být typický řetězec), který má být nahrazen
- replacement - odpovídající podřetězce jsou nahrazeny tímto řetězcem
replaceAll () návratová hodnota
replaceAll()
Metoda vrací nový řetězec, kde každý výskyt odpovídající dílčího nahrazen s náhradní řetězec.
Pří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 @ ) )
Ve výše uvedeném příkladu "\d+"
je regulární výraz, který odpovídá jedné nebo více číslicím. Další informace najdete v regexu Java.
Unikající znaky v replaceAll ()
replaceAll()
Metoda může trvat regex nebo typický řetězec jako první argument. Je to proto, že typický řetězec sám o sobě je regex.
V regulárním výrazu existují znaky, které mají zvláštní význam. Tyto metaznaky jsou:
$. | ? * + () () ()
Pokud potřebujete porovnat podřetězec obsahující tyto metaznaky, můžete těmto znakům uniknout pomocí nebo použít
replace()
metodu.
// 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 ) )
Jak vidíte, když používáme replace()
metodu, nemusíme uniknout metaznakům. Další informace najdete na adrese: Java String replace ()
Pokud potřebujete nahradit pouze první výskyt vyhovujícího dílčího řetězce, použijte metodu Java String replaceFirst ().