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? rsCom 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