Split the string on forward slash
I have a code which I wanted to split based on the forward slash "/".
Whenever I have a regex split based on "////" it never splits and gives me the whole string back. I tried replacing with file separator which gives "\" and then splitting with "\\" works but not the below code.
Below is the code tested
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");
}
}
cheers, Saurav
There is no need to escape forward slashes. Your code works fine if you just do:
String[] paths = path.split("/");
i wanted to check validation of input date in the format dd/mm/yyyy
so need to split my string around /
You can do it simply by:
String spl[]=str.split("/");
int date=Integer.parseInt(spl[0]);
int month=Integer.parseInt(spl[1]);
int year=Integer.parseInt(spl[2]);
Java might return a null pointer so you need to wrap this with a try catch
try {
String[] temp = imageFilenameOriginal.split("/");
} catch (Exception ex){
errorMessage = ex.getMessage();
}
The compiler is much happier this way.