Java String replaceAll ()

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

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 ().

Artigos interessantes...