O método replaceAll() da classe Java String retorna uma string substituindo toda a sequência de caracteres correspondentes a regex e string de substituição.
Assinatura
public String replaceAll(String regex, String replacement)
Parâmetros
expressão regular : expressão regular
substituição : sequência de substituição de caracteres
Devoluções
string substituída
Lançamentos de exceção
PatternSyntaxException: se a sintaxe da expressão regular não for válida.
Implementação interna
public String replaceAll(String regex, String replacement) { return Pattern.compile(regex).matcher(this).replaceAll(replacement); }
Exemplo Java String replaceAll(): substituir caractere
Vejamos um exemplo para substituir todas as ocorrências de um único personagem .
processamento paralelo
Nome do arquivo: SubstituaAllExample1.java
public class ReplaceAllExample1{ public static void main(String args[]){ String s1='javatpoint is a very good website'; String replaceString=s1.replaceAll('a','e');//replaces all occurrences of 'a' to 'e' System.out.println(replaceString); }}Teste agora
Saída:
jevetpoint is e very good website
Exemplo Java String replaceAll(): substituir palavra
Vejamos um exemplo para substituir todas as ocorrências de um uma única palavra ou conjunto de palavras .
o que é uma interface
Nome do arquivo: SubstituaAllExample2.java
public class ReplaceAllExample2{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('is','was');//replaces all occurrences of 'is' to 'was' System.out.println(replaceString); }}Teste agora
Saída:
My name was Khan. My name was Bob. My name was Sonoo.
Exemplo Java String replaceAll(): remova espaços em branco
Vamos ver um exemplo para remover todas as ocorrências de espaços em branco .
Nome do arquivo: SubstituaAllExample3.java
public class ReplaceAllExample3{ public static void main(String args[]){ String s1='My name is Khan. My name is Bob. My name is Sonoo.'; String replaceString=s1.replaceAll('\s',''); System.out.println(replaceString); }}Teste agora
Saída:
MynameisKhan.MynameisBob.MynameisSonoo.
Exemplo de método Java String replaceAll() Exemplo 4
O método replaceAll() lança PatternSyntaxException quando há uma expressão regular inadequada. Veja o exemplo a seguir.
Nome do arquivo: SubstituaAllExample4.java
public class ReplaceAllExample4 { // main method public static void main(String argvs[]) { // input string String str = 'For learning Java, JavaTpoint is a very good site.'; System.out.println(str); String regex = '\'; // the regular expression is not valid. // invoking the replaceAll() method raises the PatternSyntaxException str = str.replaceAll(regex, 'JavaTpoint '); System.out.println(str); } }
Saída:
For learning Java, JavaTpoint is a very good site. Exception in thread 'main' java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 at java.base/java.util.regex.Pattern.error(Pattern.java:2015) at java.base/java.util.regex.Pattern.compile(Pattern.java:1784) at java.base/java.util.regex.Pattern.(Pattern.java:1427) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at ReplaceExample4.main(ReplaceExample4.java:12)
Exemplo de método Java String replaceAll() Exemplo 5
O método replaceAll() também pode ser usado para inserir espaços entre caracteres.
Nome do arquivo: SubstituaAllExample5.java
public class ReplaceAllExample5 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = ''; // adding a white space before and after every character of the input string. str = str.replaceAll(regex, ' '); System.out.println(str); } }
Saída:
JavaTpoint J a v a T p o i n t
Exemplo de método Java String replaceAll() Exemplo 6
Mesmo a expressão regular nula também não é aceita pelo método replaceAll() conforme NullPointerException é gerado.
passagem de pré-encomenda
Nome do arquivo: SubstituaAllExample6.java
public class ReplaceAllExample6 { // main method public static void main(String argvs[]) { // input string String str = 'JavaTpoint'; System.out.println(str); String regex = null; // regular expression is null str = str.replaceAll(regex, ' '); System.out.println(str); } }
Saída:
JavaTpoint Exception in thread 'main' java.lang.NullPointerException at java.base/java.util.regex.Pattern.(Pattern.java:1426) at java.base/java.util.regex.Pattern.compile(Pattern.java:1068) at java.base/java.lang.String.replaceAll(String.java:2126) at ReplaceAllExample6.main(ReplaceAllExample6.java:13)