替换特定符号

时间:2012-10-03 12:21:05

标签: java android

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

 [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 个答案:

答案 0 :(得分: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()的结果分配给变量?

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

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

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


(1)不管怎样都不容易,可以用反射来完成 - 但是它没有被修改。

答案 3 :(得分:0)

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

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

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

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