为了账号安全,请及时绑定邮箱和手机立即绑定

java 、jsoup正则表达式

java 、jsoup正则表达式

翻翻过去那场雪 2019-03-20 15:11:32
如何通过正则表达式或者jsoup将19040172b-1、 SQL Server开发 、郑尚 、3-5,7-14(周) 、东区综合楼D-101 提取出来?, <div id="AE9D7F630640426F8457A661607D2B8E-5-2" style="display: none;" class="kbcontent">  19040172b-1  <br>SQL Server开发  <br>  <font title="老师">郑尚</font>  <br>  <font title="周次(节次)">3-5,7-14(周)</font>  <br>  <font title="教室">东区综合楼D-101</font>  <br> </div>已尝试下列办法均失败1. Pattern pattern = Pattern.compile(">(.*?)<br>");2. Elements msg = doc.select(":matchesOwn([>.*?<br>])");
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

Document document = Jsoup.parse("<div id=\"AE9D7F630640426F8457A661607D2B8E-5-2\" style=\"display: none;\" class=\"kbcontent\"> 19040172b-1 <br>SQL Server开发 <br> <font title=\"老师\">郑尚</font> <br> <font title=\"周次(节次)\">3-5,7-14(周)</font> <br> <font title=\"教室\">东区综合楼D-101</font> <br> </div>");

System.out.println(document.text());

Output:19040172b-1 SQL Server开发 郑尚 3-5,7-14(周) 东区综合楼D-101

不知道是否满足楼主的需求?


Document document = Jsoup.parse("<div id=\"AE9D7F630640426F8457A661607D2B8E-5-2\" style=\"display: none;\" class=\"kbcontent\"> 19040172b-1 <br>SQL Server开发 <br> <font title=\"老师\">郑尚</font> <br> <font title=\"周次(节次)\">3-5,7-14(周)</font> <br> <font title=\"教室\">东区综合楼D-101</font> <br> </div>");

Element div = document.getElementById("AE9D7F630640426F8457A661607D2B8E-5-2");

TextNode n1 = (TextNode) div.childNode(0);

System.out.println(n1.text()); // 19040172b-1


TextNode n2 = (TextNode) div.childNode(2);

System.out.println(n2.text()); // SQL Server开发

// ...

如果楼主的格式是固定的直接像上面这样解析HTML会比较好一些,不需要REGEX。


查看完整回答
反对 回复 2019-04-24
?
动漫人物

TA贡献1815条经验 获得超10个赞

String html = "<div id=\"AE9D7F630640426F8457A661607D2B8E-5-2\" style=\"display: none;\" class=\"kbcontent\">  19040172b-1  <br>SQL Server Develop  <br>  <font title=\"teacher\">zheng</font>  <br>  <font title=\"week\">3-5,7-14</font>  <br>  <font title=\"classroom\">D-101</font>  <br> </div> ";

        html = html.replaceAll("<br>", "#~#");

        Document doc = Jsoup.parse(html.toString());

        String newHtml = doc.text();

        String[] ary = newHtml.split("#~#");


        for (int i = 0;i < ary.length;i++){

            System.out.println(ary[i]);

        }

https://img1.sycdn.imooc.com//5cc008890001702c03490223.jpg

查看完整回答
反对 回复 2019-04-24
  • 3 回答
  • 0 关注
  • 715 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号