0

在如下所示的 Java 字符串中替换#为:\u0023

{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()调用后使用相同的字符串。但是,字符串是不可变的,因此将通过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 回答