12

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 "\ "

Martin Zeitler
  • 1
  • 19
  • 155
  • 216

2 Answers2

10

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.

Elliott Frisch
  • 198,278
  • 20
  • 158
  • 249
0

The suggested solution did not work for me (in Android Java).

So this is what I've came up with, after quite a few attempts:

path = path.replace(" ", (char) 92 + " ");
Martin Zeitler
  • 1
  • 19
  • 155
  • 216