繁体   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