使用split将String转换为arraylist

时间:2016-10-31 22:12:21

标签: java string arraylist split jsoup

是否可以使用split将以下String内容转换为arraylist,以便获得类似A点的内容?

<a class="postlink" href="http://test.site/i7xt1.htm">http://test.site/i7xt1.htm<br/>
</a>
<br/>Mirror:<br/>
<a class="postlink" href="http://information.com/qokp076wulpw">http://information.com/qokp076wulpw<br/>
</a>
<br/>Additional:<br/>
<a class="postlink" href="http://additional.com/qokdsfsdwulpw">http://additional.com/qokdsfsdwulpw<br/>
</a>

A点(所需的arraylist内容):

http://test.site/i7xt1.htm
Mirror:
http://information.com/qokp076wulpw
Additional:
http://additional.com/qokdsfsdwulpw

我现在使用下面的代码,但它没有带来所需的输出。 (例如镜像被多次添加等)。

Document doc = Jsoup.parse(string);
Elements links = doc.select("a[href]");
for (Element link : links) {
    Node previousSibling = link.previousSibling();

    while (!(previousSibling.nodeName().equals("u") || previousSibling.nodeName().equals("#text"))) {
        previousSibling = previousSibling.previousSibling();
    }

    String identifier = previousSibling.toString();

    if (identifier.contains("Mirror")) {
        totalUrls.add("MIRROR(s):");
    }
    totalUrls.add(link.attr("href"));
}

1 个答案:

答案 0 :(得分:0)

首先修复您的链接。正如cricket_007所提到的,拥有适当的HTML会使这更容易。

180

现在错误的String html = yourHtml.replaceAll("<br/></a>", "</a>"); // get rid of bad HTML String[] lines = html.split("<br/>"); for (String str : Arrays.asList(lines)) { Jsoup.parse(str).text(); ... // you can go further here, check if it has a link or not to display your semi-colon; } 标记不在链接中,您可以在保留的<br>标记上拆分字符串并打印出html结果。它不漂亮,但它应该有用。