Mostrando postagens com marcador regex. Mostrar todas as postagens
Mostrando postagens com marcador regex. 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

segunda-feira, 9 de março de 2015

Exibir . ponto em expressão regular (regex)

Resumo

String url = "maguscode.blogspot.com";
String[] urlDividida = url.split("\\.");


Explicação


Em expressão regulares em java o ponto (.) demonstra a busca por qualquer caractere. Para utilizado em uma String sem que isso causa confusão é bem simples, basta adicionar duas contra barras (\) antes do caractere que representa o  ponto.

Exemplo:

public static void main(String args[]) {
String url = "maguscode.blogspot.com";
String[] urlDividida = url.split("\\.");
for (String i : urlDividida)

System.out.println(i);
}

Observação:


As duplas de contras barras podem ser utilizadas para deixarem qualquer outro caracter utilizado para expressão regulares (*, ., ?)