Escape space with backslash in java

user2679590 picture user2679590 · Aug 26, 2015 · Viewed 20.9k times · Source

I want to replace spaces from path string. I tried below but doesn't seems to be working :

String path = "/Users/TD/San Diego";
path=path.replaceAll(" ","\\ ");
System.out.println(path);

Goal is to convert

"/Users/TD/San Diego" to "/Users/TD/San\ Diego"

Any further space from string also needs to be replaced with "\ "

Answer

Elliott Frisch picture Elliott Frisch · Aug 26, 2015

You could change

path = path.replaceAll(" ", "\\ ");

to escape the backslash

path = path.replaceAll(" ", "\\\\ ");

When I do that, I get (the requested)

/Users/TD/San\ Diego

Another option would be using String.replace like

path = path.replace(" ", "\\ ")

which outputs the same.