今天遇到个问题,根据一个url获取页面,由于不知道页面的编码格式,需要自己在获得的页面中找到相应的charset,考虑使用正则表达式来获取,一下为获取编码的方法
1 /**2 * 由于获取页面的原始编码3 * @param htmlContent 页面的Content4 */5 public static String getChersetFromHtml(String htmlContent){6 String regex="^([\\s\\S]*)( [\\s\\S]*)$";7 //获取第三个子表达式的内容8 return htmlContent.replaceAll(regex, "$3");9 }
这样就可以获得页面中的编码了。
参考资料:
Java正则表达式详解
html.replaceAll(regex, "$3"); 的活学活用 java 中正则的运用 JAVA Pattern和Matcher 的用法 (重要)正则 JAVA Pattern和Matcher 的用法当然不使用正则表达式也可以获取,但是有点繁琐,不推荐。