我有一个需要在HTML中显示的XML字符串。我知道这里需要做的第一件事是转换所有'<'和'>'进入'& LT;”和'& GT;” (忽略& sign后面的空格)。我正在做的是替换'<' -
regExp = new RegExp("/</g");
xmlString = xmlString.replace(regExp, '& lt;');
xmlString
不会改变。
此外,trace(regExp.test("<"));
打印false
。
这里有什么问题?
答案 0 :(得分:3)
replace返回一个新字符串,它不会修改旧字符串。因此,如果要覆盖旧版本,则必须执行以下操作:
xmlString = xmlString.replace(regExp, '<');
或者,如果您不想覆盖旧的,只需将结果存储在新变量中。
var newString = xmlString.replace(regExp, '<');
答案 1 :(得分:2)
问题在于您创建RegExp对象的方式。
因为您使用RegExp构造函数,所以不要包含/
个字符:
regExp = new RegExp("<", "g");
或使用/
作为快捷方式:
regExp = /</g;
有关详情,请参阅此页:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/RegExp.html