0

可能重复:
为什么我不能在 Java 中删除 WhiteSpaces?

在 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 文件中可接受的等效文本)?

4

2 回答 2

2

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

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

并以同样的方式检查你是否正在做同样的事情来替换 "<" 、 ">" 、 """ 、 "'" 字符

于 2013-01-27T18:31:56.773 回答
1
origString = origString.replace("&" , "&amp;");
于 2013-01-27T18:30:18.627 回答