首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

转义符的有关问题,求大神!

2013-02-17 
转义符的问题,求大神!!思路:先找到\\u,然后找接下去的4个字符(因为中文占两个长度,相当于4位16进制),然

转义符的问题,求大神!!


思路:
先找到"\\u",然后找接下去的4个字符(因为中文占两个长度,相当于4位16进制),然后转换成字符。


            String s = "China\\u4e2d+\\u56fdRMB";
            StringBuilder sbRet = new StringBuilder(s.length());  // 存放结果的
            for (int i = 0; i < s.length(); i++) {
                if ('\\' == s.charAt(i)) {         // 把"\\uXXXX"的字符找出来,转义
                    if ((i + 1 < s.length()) && 'u' == s.charAt(i + 1)) {
                        int start = i + 1 + 1;
                        int end = start + 4;
                        if (end <= s.length()) {
                            String strHex = s.substring(start, end);
                            sbRet.append((char) Integer.parseInt(strHex, 16));
                            i = end - 1;
                        }
                    }
                }


                else {
                    sbRet.append(s.charAt(i)); 
                }
            }
            System.out.println(sbRet.toString());

热点排行