0

#以下のような\u0023Java 文字列に置き換えます。

{subjectCategory:"s123", subjectId:"111222333", content:"test #comment999", ownerId:"111", ownerName:"tester"}

String.replace("#","\\u0023");

上記の機能を試してみましたが、うまくいかないようです。

4

3 に答える 3

3

バックスラッシュを別のバックスラッシュでエスケープする必要があります。

string = string.replace("#", "\\u0023");

テスト:

String s = "hello # world";
s = s.replace("#","\\u0023");
System.out.println(s); // prints hello \u0023 world
于 2012-08-03T07:21:42.893 に答える
3

変数に代入することを忘れないでください:

String toUse = myString.replace("#", "\\u0023");

おそらく、呼び出し後に同じ文字列を使用することを期待していますreplace()。ただし、文字列はimmutableであるため、呼び出しで新しい文字列が作成されreplace()ます。使用する必要があるため、toUse変数を使用します。

注:コメントで述べたように、新しい変数を宣言する代わりに、古い変数を再度使用することもできます。replaceただし、呼び出しの結果をそれに割り当てるようにしてください。

myString = myString.replace("#", "\\u0023");
于 2012-08-03T07:22:28.777 に答える
0

replaceの静的メソッドではなく、置換する文字列インスタンスにを適用する必要がありますString

myString="test #comment999";
myString.replace("#", "\\u0023");
于 2012-08-03T07:23:17.117 に答える