-1

你好朋友我得到一个字符串

 [1-Sept-2012 13:20 1-Oct-2012 13:20  India , 1-Sept-2012 17:42 28-Sept-2012 17:42  India ]

我正在尝试实现此代码,但它不起作用

string.replace(",", "$");
string.replace(" ", "@");

预期输出:-

[1-Sept-2012 13:20@1-Oct-2012 13:20@India@$1-Sept-2012 17:42@28-Sept-2012 17:42  India@$]

请帮助我。谢谢

4

4 回答 4

2

这对我有用:

String source = "[1-Sept-2012 13:20 1-Oct-2012 13:20  India , 1-Sept-2012 17:42 28-Sept-2012 17:42  India ]";
String dest = source.replace(",", "$").replace(" ", "@");

也许您忘记将结果分配给string.replace()变量?

于 2012-10-03T12:23:21.667 回答
1

replace方法返回一个字符串,这是您在代码中没有考虑的内容。这样做应该有效:

String string = ...;
string = string.replace(",", "$").replace(" ", "@");
于 2012-10-03T12:23:24.257 回答
0

String是一个不可变的对象,你不能改变它1 .
您需要将新的字符串对象分配回变量才能“看到”效果。

string = string.replace(",", "$");

这将创建一个新String对象并将新对象分配给变量string


(1)无论如何都不容易,它可以通过反射来完成 - 但这是不建议的。

于 2012-10-03T12:23:35.737 回答
0

您可以执行以下操作,也可以使用contains()这将有助于防止错误。

String str="-------your string here---";

if(str.contains(","))
    str =str.replace(",", "$");

if(str.contains(""))
   str=str.replace(" ", "@");
于 2012-10-03T12:30:19.410 回答