Dividir a string na barra

Eu tenho um código que eu queria dividir com base na barra “/”.

Sempre que eu tenho um split regex baseado em “////” ele nunca divide e me devolve toda a string. Eu tentei replace com separador de arquivo que dá “\” e, em seguida, dividir com “\\” funciona, mas não o código abaixo.

Abaixo está o código testado

package org.saurav.simpletests.string; import java.io.File; public class StringManipulator { public static void main(String a[]){ String testString ="/UserId/XCode/deep"; //testString = testString.replace("/", File.separator); //testString = testString.replace("/", "_"); testSplitStrings(testString); } /** * Test the split string * @param path */ public static void testSplitStrings(String path){ System.out.println("splitting of sprint starts \n"); String[] paths = path.split("////"); for (int i = 0; i < paths.length; i++) { System.out.println("paths::"+i+" "+paths[i]+"\n"); } System.out.println("splitting of sprint ends"); } } 

felicidades, Saurav

Não há necessidade de escaping das barras. Seu código funciona bem se você acabou de fazer:

 String[] paths = path.split("/"); 

Java pode retornar um ponteiro nulo então você precisa envolver isso com um try catch

 try { String[] temp = imageFilenameOriginal.split("/"); } catch (Exception ex){ errorMessage = ex.getMessage(); } 

O compilador é muito mais feliz assim.

 String[] paths = path.split("\\"); 

Eu queria verificar a validação da data de input no formato dd/mm/yyyy isso preciso dividir minha string ao redor / você pode fazê-lo simplesmente por:

 String spl[]=str.split("/"); int date=Integer.parseInt(spl[0]); int month=Integer.parseInt(spl[1]); int year=Integer.parseInt(spl[2]);