簡體   English   中英

使用Jsoup提取字符串

[英]Extract strings using Jsoup

我正在嘗試通過使用Jsoup庫在網站html頁面中獲取一些名稱表單class屬性,問題是我正在使用getElementsByClass("name")通過類獲取元素並將其存儲到字符串變量和結果中像這樣“邁克·安德羅·羅伯·班克斯瑪麗亞·傑拉多·路易斯·...等等” 但我想要的是將各個名稱分開並將它們存儲到數組中。 以下是代碼段:

public String processText(String htmlPage) {

    Document html = Jsoup.parse(htmlPage);
    String names = html.body().getElementsByClass("name").text();
    return names;
}

更多信息:

源頁面是html頁面,我將完整的html代碼保存在字符串中,然后處理該字符串以僅提取class="name"下的Elements。

我傳遞給processText方法的htmlPage與以下內容相似:

 <div class="name"> Rob Kardashian </div> </div> </a> </div> <div class="channelListEntry"> <a href="/zayn_malik"> <div class="image"> <img src="http://cdn.posh24.com/images/:profile/014cf47ca44daf8f44a3e0720929ee327" alt="Zayn Malik"/> </div> <div class="info"> <div class="status-container"> <div class="position">4</div> <div class="img pos"></div> <div class="value">+12</div> </div> <div class="name"> Zayn Malik </div> </div> </a> </div> <div class="channelListEntry"> <a href="/kanye_west"> <div class="image"> <img src="http://cdn.posh24.com/images/:profile/03f352f71ffab135cd81821eb190d4832" alt="Kanye West"/> </div> <div class="info"> <div class="status-container"> <div class="position">5</div> <div class="img pos"></div> <div class="value">+16</div> </div> <div class="name"> Kanye West </div> </div> </a> </div> <div class="channelListEntry"> <a href="/kendall_jenner"> <div class="image"> <img src="http://cdn.posh24.com/images/:profile/066d5c02547c4357f1bc5f633c68f4085" alt="Kendall Jenner"/> </div> 

您可以簡單地使用split函數從字符串獲取數組

String arr[]=names.trim().split("\\s");

如果您在名稱之間組合了空格和制表符,請使用

  String arr[]=names.split("\\s+");

更新:

      ArrayList<String>  name=new ArrayList<String>();
      for (Element output: html.body().getElementsByClass("name")) {
          name.add(output.text());
          }

示例鏈接

輸出:

在此處輸入圖片說明

鏈接以將列表轉換為數組

暫無
暫無

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

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