java - 将字符串处理为
如何用“”替换我从HTML文件中解析的 
字符? 有关于该像许多问题,并“接受”的答案,java - 将字符串处理为
How to remove with Jsoup?
How to remove " " from java string
Handling special entities like & nbsp; , & pound; in HtmlCleaner
但我仍然无法通过使用这些给出的所有解决方案,通过此获得链接,
if(tr.text().replace("\u00a0", "").isEmpty()){
System.out.println("testing---");
}
我在做什么错在这里? 在这种情况下可以使用jsoup吗?我在其中一个答案中读到了这一点。
UPDATE 这是我试图从中获取数据的HTML部分。
<TR>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boBL noWrap> </TD>
<TD class=xl27boL noWrap align=right> </TD>
</TR>
的answer given here正常工作。您得到false
为isEmpty
的原因是tr
元素的文本不包含只有的
个字符 —还有其他空白字符。你要添加trim
电话:
if(tr.text().replace("\u00a0", "").trim().isEmpty()){
// Here --------------------------^^^^^^^
System.out.println("testing---");
}
我想通了这一点只需通过查看tr.text()
,当我跑你的例子HTML到JSoup返回的文本;基本调试。
嗨,先生,它仍然没有为我工作,我有两个TR标签,在第一个TR标签中有一个在最后一个TD中,在下一个TR标签中,我有所有的TD与&nbsp。通过添加trim()(我在发布问题之前已经尝试过),只有第一个TR的最后一个TD使用&nbsp进行检测,而不是下一个TR,它的TD中有所有&nbsp。希望我很清楚 – 2014-08-31 10:07:49
是jsoup真的需要这个吗?不会有正则表达式吗? – 2014-08-31 10:08:01
嗨soni,这不是jsoup,它的简单文本操作 – 2014-08-31 10:08:31
从Jsoup得到文件后,使用StringEscapeUtils
StringEscapeUtils.unescapeHtml4(test));
使用这个库ORG-Apache的公地lang.jar。
我已更新问题 – 2014-08-31 09:46:11
你是说noWrop thingy导致问题? – 2014-08-31 09:59:29
不,实际上,JSoup真的可以容忍无效的HTML - 这是它的伟大之处之一。 – 2014-08-31 10:01:02