首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java正则表达式

Java正则表达式
EN

Stack Overflow用户
提问于 2016-09-08 08:13:33
回答 2查看 179关注 0票数 0

19040172b-1SQL Server开发、、3-5,7-14D-101

代码语言:javascript
复制
<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> 

我试过以下几种方法,但失败了。

代码语言:javascript
复制
1. Pattern pattern = Pattern.compile(">(.*?)<br>");

2. Elements msg = doc.select(":matchesOwn([>.*?<br>])");
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-08 08:31:38

代码语言:javascript
复制
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("#~#");

这将完成任务,但可能还有其他干净的方法来替换br标记。

票数 0
EN

Stack Overflow用户

发布于 2016-09-08 08:46:51

1)首先,用正则表达式解析HTMl从来都不是一个好主意。You can read more about that here

2)你可以在标签之间取下所有的文本。

代码语言:javascript
复制
Document doc = Jsoup.parse(file, charsetName);
String text= doc.text();
System.out.println(text);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39385808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档