簡體   English   中英

如何在不添加空格的情況下丟棄元素,然后再將其添加到Arraylist中

[英]How to discard elements with non-breaking space before adding them in an Arraylist

我有一個看起來像這樣的HTML

<div class="copy>
  <p>First tip</p>
  <p><span style="FONT-SIZE:medium"><br/></span></p>
  <p>Second Tip</p>
  <p>&nbsp;</p>
  <p>Third tip</p>
  <p>&nbsp;</p>
  <p>Fourth tip</p>
</div>

我正在使用Jsoup提取p元素內的文本並將其存儲在arraylist中。 但是我不想存儲里面沒有文字的文字。 我已經嘗試了以下方法,但是不起作用。

Elements tips = doc.select("div.copy > p");
    for(Element tip: tips) {
        if(tip.text() != "") {
            if(tip.text() != "&nbsp;") {
                tipsArray.add(tip.text());
            }
        }

    }

該代碼未在arraylist中添加帶有br標簽的第二個p元素,但不適用於&nbsp。 我正在嘗試在Android的列表視圖上使用arraylist。 我也嘗試在if語句中使用\\ u00a0而不是&nbsp,但是那也不起作用。是否有另一種方法或者我做錯了? 我不知道此問題是與Java有關還是與Android有關。 謝謝你的幫助。

應該使用==操作符來比較字符串的值。 您必須使用equals方法:

for(Element tip: tips) {
        if(!"".equals(tip.text())) {
            if(!"&nbsp;".equals(tip.text())) {
                tipsArray.add(tip.text());
            }
        }

您還可以確保不添加包含多個&nbsp;段落&nbsp; 或空格:

if(!"".equals(tip.text().replace("&nbsp;", "").trim()))

另外在這里看看: 如何比較Java中的字符串

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM