java 获取页面的编码

今天遇到个问题,根据一个url获取页面,由于不知道页面的编码格式,需要自己在获得的页面中找到相应的charset,考虑使用正则表达式来获取,一下为获取编码的方法

1     /**
2      * 由于获取页面的原始编码
3      * @param htmlContent 页面的Content
4      */
5     public static String getChersetFromHtml(String htmlContent){
6         String regex="^([\\s\\S]*)(<meta\\s+http-equiv=\"Content-Type\"\\s+content=\"text/html;\\s*charset=)([-\\w+]+)(\"\\s*/?>[\\s\\S]*)$";
7         //获取第三个子表达式的内容
8         return htmlContent.replaceAll(regex, "$3");
9     }

 

这样就可以获得页面中的编码了。

参考资料:

http://edu.yesky.com/edupxpt/18/2143018.shtml  Java正则表达式详解
http://free-zhou.javaeye.com/blog/751417      html.replaceAll(regex, "$3"); 的活学活用
http://www.chinaunix.net/jh/26/154483.html    java 中正则的运用
http://www.jspcn.net/htmlnews/600100423.html   JAVA Pattern和Matcher 的用法
http://deerchao.net/tutorials/regex/regex.htm   (重要)正则
http://hi.baidu.com/gengshenspirit/blog/item/edb8a954df5825173a293592.html JAVA Pattern和Matcher 的用法

当然不使用正则表达式也可以获取,但是有点繁琐,不推荐。

 

转载于:https://www.cnblogs.com/xiaozhihome/archive/2013/05/10/3071232.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值