【发布时间】:2013-04-22 11:08:18
【问题描述】:
我正在尝试将我在 ActionScript 中编写的函数移植到 Java,但遇到了一些麻烦。我已经包含了下面的功能。我找到了this response to question #375420,但我真的需要写一个单独的类吗?谢谢。
public static function replaceXML(str:String):String {
return str.replace(/[\"'&<>]/g, function($0:String):String {
return StringUtil.substitute('&#{0};', $0.charCodeAt(0));
});
}
输入
<root><child id="foo">Bar</child></root>
输出
<root><child id="foo">Bar</child></root>
更新
如果有人想知道,这是我的解决方案。谢谢Sri Harsha Chilakapati。
public static String replaceXML(final String inputStr) {
String outputStr = inputStr;
Matcher m = Pattern.compile("[&<>'\"]").matcher(outputStr);
String found = "";
while (m.find()) {
found = m.group();
outputStr = outputStr.replaceAll(found,
String.format("&#%d;", (int)found.charAt(0)));
}
return outputStr;
}
【问题讨论】:
标签: java regex actionscript-3 replace xml-entities