java-试图取代“&”用“&”但仍看到不变的文字

时间:2013-01-27 18:28:32

标签: java xml

  

可能重复:
  Why can’t I Remove WhiteSpaces in Java?

在java程序中,为了使一些XML可解析而不给出错误,我使用以下代码将"&"字符替换为"&" - 变量'origString'将每行存储在输入文件(逐个)

 if(origString.contains("&"))
 {  

      System.out.println(" This line contains & --");

      System.out.println(" origstring=" + origString);

      origString.replace("&" , "&");

      System.out.println(" origstring after replacing '&' =" + origString);
 }

但是,当我运行上面的代码时,我得到的字符串值保持不变 - 即“&”保留在origString变量中。

我在这里做错了什么?如何更正此错误?

此外,同样的问题是否适用于替换“<” ,“>” ,“”,“'”字符(XML文件中可接受的等效文本)?

2 个答案:

答案 0 :(得分:2)

String是不可变的,因此您需要将其分配回String变量以实际对该变量进行更改 试试这个:

origString = origString.replace("&" , "&");
如果你正在为替换“<”做同样的事情,请以相同的方式检查,“>” ,“”,“”字符

答案 1 :(得分:1)

origString = origString.replace("&" , "&");