public static String gbreallyStr(String gbString) {
    String REGEX = "&#x(.*?);";//&#x\W*;
    Pattern p = Pattern.compile(REGEX);
    Matcher m = p.matcher(gbString); // 获取 matcher 对象
    while (m.find()) {
        String matcherStr = m.group(1);
        if (matcherStr != null && matcherStr.length() == 4) {
            //gbString = gbString.replaceAll("&#x" + matcherStr + ";", "\\\\u" + matcherStr);
            String reallyChar = decodeUnicode("\\u" + matcherStr);
            gbString = gbString.replaceAll("&#x" + matcherStr + ";", reallyChar);
        }
        //System.out.println("start(): "+m.start() + "::" + m.group(1));
        //System.out.println("end(): "+m.end());
    }
    gbString = gbString.replaceAll("<", "<").replaceAll(">", ">").replaceAll("\n"," ");;
    REGEX = "<return>(.*?)</return>";
    Pattern p2 = Pattern.compile(REGEX);
    Matcher m2 = p2.matcher(gbString); // 获取 matcher 对象
    while (m2.find()) {
        gbString = m2.group(1);
    }
    return gbString;
}