web-dev-qa-db-ja.com

java)でバックスラッシュを使用してスペースをエスケープする

パス文字列のスペースを置き換えたい。以下を試しましたが、機能していないようです:

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

目標は変換することです

「/ Users/TD/SanDiego」から「/ Users/TD/San\Diego」

文字列からそれ以上のスペースも「\」に置き換える必要があります

7
user2679590

あなたは変えることができます

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

バックスラッシュを回避する

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

私がそれをするとき、私は(要求された)を得る

/Users/TD/San\ Diego

別のオプションは、次のようなString.replaceを使用することです。

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

同じものを出力します。

6
Elliott Frisch

提案された解決策は私にはうまくいきませんでした(Android Java)で)。

だから、これは私がかなりの数の試みの後に思いついたものです:

path = path.replace(" ", (char) 92 + " ");
0
Martin Zeitler