O método split é utilizado quando é necessário quebrar uma String em várias substrings.
Veja o seguinte código:
public static void main(String[] args) { // Como entrada temos um diretorio separado por / barra String entrada = "C:/Users/Faguinho/Videos/Seriados/Vikings"; // Vamos quebrar nossa entrada em várias substrings // usando / para identificar onde nossa string deverá ser quebrada // e armaze-las em um vetor de String String[] saida = entrada.split("/"); // Esse laço de repetição está pegando cada nova string gerada // a partir da nossa string de entrada, e varrendo todo vetor // escrevendo na tela a substring armazenada for (String substring : saida) { System.out.println(substring); } }
E teremos a seguinte saida:
C: Users Faguinho Videos Seriados Vikings
Acabamos de pegar um determinado diretório e separa-lo em várias pastas até chegar na nossa pasta final que é "Vikings" (uma série muito boa, assistam rs).
Nos usamos o separador "/" para quebras nossa String, mas poderíamos estar usando qualquer marcador para identificar onde nossa String deveria ser quebrada.
Muitas vezes se faz necessários resgatar o ultimo valor de uma String, e para isso existem inúmeras formas de faze-lo um exemplo clássico é o seguinte código:
Nos usamos o separador "/" para quebras nossa String, mas poderíamos estar usando qualquer marcador para identificar onde nossa String deveria ser quebrada.
Muitas vezes se faz necessários resgatar o ultimo valor de uma String, e para isso existem inúmeras formas de faze-lo um exemplo clássico é o seguinte código:
public static void main(String[] args) { String entrada = "C:/Users/Faguinho/Videos/Seriados/Vikings"; String[] saida = entrada.split("/"); // Criamos uma variavel do tipo String e a inicializamos com null String resultado = null; // Nesse laço estamos inicializando nossa variavel em 1 // iremos ficar repetindo esse código enquanto i for menor que a quantidade // de substring armazenadas em nosso vetor saida // e estamos informando que nosso laço deve somar 1 a cada execução for (int i = 1; i < saida.length; i++) { resultado = saida[i]; } // E aqui escrevemos o nosso resultado System.out.println(resultado); }
E teremos a saída: "Vikings"
Mas esse exemplo deixa o código extenso, processando todo um vetor para recuperar o último valor, não é nada bom.
Para resolver esse tipo de problema podemos usar o seguinte código:
Com apenas uma linha resolvemos todos o nosso problema. Vamos a explicação!
Estamos usando matemática para resolver o nosso problema, então primeiro começaremos pelas [], ou seja nosso segundo split: [entrada.split( "/" ).length - 1], estamos simplesmente verificando a quantidade de substrings geradas menos um.
No nosso exemplo teremos o resultado = 5
A expressão ficou igual a entrada.split( "/" )[5], dessa forma o método split remove todos os valores anteriores e recupera apenas o valor que fica logo após a quinta barra.
Execute esse trecho: entrada.split( "/" )[5], e teremos a nossa saída = Vikings
Execute esse trecho: entrada.split( "/" )[4], e teremos a nossa saída = Seriados
Execute esse trecho: entrada.split( "/" )[2], e teremos a nossa saída = Users
Bom, como eu disse existem várias formas de resolver esse problema, e essa é uma das formas que eu uso nos meus códigos.
Até a próxima.
Mas esse exemplo deixa o código extenso, processando todo um vetor para recuperar o último valor, não é nada bom.
Para resolver esse tipo de problema podemos usar o seguinte código:
public static void main(String[] args) { String entrada = "C:/Users/Faguinho/Videos/Seriados/Vikings"; String resultado = entrada.split( "/" )[entrada.split( "/" ).length - 1]; System.out.println(resultado); }Ficou bonito não? rs
Com apenas uma linha resolvemos todos o nosso problema. Vamos a explicação!
Estamos usando matemática para resolver o nosso problema, então primeiro começaremos pelas [], ou seja nosso segundo split: [entrada.split( "/" ).length - 1], estamos simplesmente verificando a quantidade de substrings geradas menos um.
No nosso exemplo teremos o resultado = 5
A expressão ficou igual a entrada.split( "/" )[5], dessa forma o método split remove todos os valores anteriores e recupera apenas o valor que fica logo após a quinta barra.
Execute esse trecho: entrada.split( "/" )[5], e teremos a nossa saída = Vikings
Execute esse trecho: entrada.split( "/" )[4], e teremos a nossa saída = Seriados
Execute esse trecho: entrada.split( "/" )[2], e teremos a nossa saída = Users
Bom, como eu disse existem várias formas de resolver esse problema, e essa é uma das formas que eu uso nos meus códigos.
Até a próxima.
Nenhum comentário:
Postar um comentário