user2679590
user2679590

Reputation:

Escape space with backslash in java

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

Upvotes: 12

Views: 29964

Answers (2)

Martin Zeitler
Martin Zeitler

Reputation: 76869

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 + " ");

Upvotes: 0

Elliott Frisch
Elliott Frisch

Reputation: 201537

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.

Upvotes: 10

Related Questions