English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O método replaceAll() da String Java substitui cada substring correspondente à expressão regular com o texto especificado.
Sintaxe do método replaceAll()
string.replaceAll(String regex, String replacement)
O método replaceAll() tem dois parâmetros.
regex - Expressão regular a ser substituída (pode ser uma string típica)
replacement - A substring correspondente é substituída por essa string
O método replaceAll() retorna uma nova string, substituindo cada ocorrência da substring correspondente pela string de substituição (replacement).
class Main { public static void main(String[] args) { String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; //Expressão regular que representa uma sequência de dígitos String regex = "\\d+"; //Substitua todas as ocorrências de "aa" por "zz" System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac //Substitua números ou sequências de números por espaços System.out.println(str2.replaceAll(regex, " ")); // Learn Java @ {} {}
No exemplo acima, "\\d+" é uma expressão regular que coincide com um ou mais dígitos.
O método replaceAll() pode usar uma expressão regular ou uma string típica como primeiro parâmetro. Isso é porque uma string típica em si mesma é uma expressão regular.
Alguns caracteres têm significado especial em expressões regulares. Esses caracteres meta são:
\ ^ $ . | ? * + {} [] ()
Se precisar de correspondências de substrings que contenham esses caracteres meta, pode usar \ ou usar o método replace() para escapar esses caracteres.
// Programa para substituir o + character class Main { public static void main(String[] args) { String str1 = "+a-+b"; String str2 = "Learn223Java55@"; String regex = "\\+"; // Replace “+" Replace "#" Using replaceAll() method ////Use replaceAll() to replace “ +”Replace to “#” System.out.println(str1.replaceAll("\\+", "#")); // #a-#b // Replacement+" Replace "#" Using replace() System.out.println(str1.replace("+", "#")); // #a-#b {} {}
As you can see, when we use the replace() method, we do not need to escape the meta characters. For more information, please visit:Java String replace()
If you only need to replace the first matching substring, please useJava String replaceFirst()Method.