Mostrando postagens com marcador between. Mostrar todas as postagens
Mostrando postagens com marcador between. Mostrar todas as postagens

segunda-feira, 29 de fevereiro de 2016

Diferença entre replaceAll e replace na classe String em java

Introduçao


O principal objetivo desta dica é explicar de maneira simples e rápida a diferença entre os métodos replace e replaceAll da classe String em java.

Diferença entre os métodos

Ambos os métodos tem a função de substituir um conjunto de caracteres por outro conjunto de caracteres, porém a diferença entre eles consiste no fato do método replaceAll utilizar expressão regular (regex) para encontrar o grupo de caracteres, já o replace utiliza somente o grupo em si como filtro.

Sintaxe do replace:

string.replace("conteudo_original","conteudo_substituir");

Onde:


  • conteudo_original - Conjunto de caracteres que será buscado para substituição por conteudo_subsituir.
  • conteudo_substituir - Conteudo que fará a substituição do conteudo_original.


Sintaxe do replaceAll:

string.replace("expressao","conteudo_substituir");

Onde:





  • expressao - Expressão que será utilizado para a substituição por conteudo_subsituir.
  • conteudo_substituir - Conteudo que fará a substituição do resultado da busca da expressao.



Exemplo:

Abaixo é possível ver um exemplo utilizando os dois métodos para buscar o conteúdo em questão.


public class Main {

public static void main(String args[]) {

  String text = "verdura verde  verdinho";
  System.out.println("Com replace: "+text.replace("verde",   "amarelo"));
  System.out.println("Com replaceAll: "+text.replaceAll("verd[iu]",   "AMARELO"));
}
}


Saída:

Com replace: verdura amarelo  verdinho
Com replaceAll: AMARELOra verde  AMARELOnho