参考代码,你再改下吧:
[code="java"] public static String unicode2Gb(String s) {
StringBuffer retstr = new StringBuffer();
String regEx = "^&#\d{5};$";
Pattern p = Pattern.compile(regEx);
for (int i = 0; i < s.length();) {
if (s.charAt(i) == '&') {
String tmp = s.substring(i, i + 8);
Matcher m = p.matcher(tmp);
if (m.find()) {
int j = Integer.parseInt(tmp.substring(2, 7));
retstr.append((char) j);
i += 8;
} else {
retstr.append(s.charAt(i));
i++;
}
} else {
retstr.append(s.charAt(i));
i++;
}
}
return retstr.toString();
}[/code]