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.