在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文件中可接受的等效文本)?
答案 0 :(得分:2)
String
是不可变的,因此您需要将其分配回String
变量以实际对该变量进行更改
试试这个:
origString = origString.replace("&" , "&");
如果你正在为替换“<”做同样的事情,请以相同的方式检查,“>” ,“”,“”字符
答案 1 :(得分:1)
origString = origString.replace("&" , "&");