O método Java String replaceAll () substitui cada substring que corresponde à regex da string com o texto especificado.
A sintaxe do replaceAll()
método é:
string.replaceAll(String regex, String replacement)
Aqui, string é um objeto da String
classe.
Parâmetros replaceAll ()
O replaceAll()
método leva dois parâmetros.
- regex - uma regex (pode ser uma string típica) que deve ser substituída
- substituição - substrings correspondentes são substituídos por esta string
valor de retorno replaceAll ()
- O
replaceAll()
método retorna uma nova string em que cada ocorrência da substring correspondente é substituída pela string de substituição .
Exemplo 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 @ ) )
No exemplo acima, "\d+"
é uma expressão regular que corresponde a um ou mais dígitos. Para saber mais, visite Java regex.
Caracteres de escape em replaceAll ()
O replaceAll()
método pode ter uma regex ou uma string típica como o primeiro argumento. É porque uma string típica em si é uma regex.
No regex, existem caracteres que têm um significado especial. Esses metacaracteres são:
$. | ? * + () () ()
Se você precisar fazer a correspondência da substring que contém esses metacaracteres, pode escapar desses caracteres ou usar o
replace()
método.
// 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 ) )
Como você pode ver, quando usamos o replace()
método, não precisamos escapar metacaracteres. Para saber mais, visite: Java String replace ()
Se você precisar substituir apenas a primeira ocorrência da substring correspondente, use o método Java String replaceFirst ().