2016-10-31 5 views
0

Можно ли преобразовать ниже содержимое String в arraylist, используя split, чтобы вы получили что-то вроде точки A?Преобразование String в arraylist с использованием split

<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")); 
} 
+0

Вы спрашиваете, как разбить строку или как заполнить ArrayList? – shmosel

+1

Не могли бы вы отформатировать HTML немного лучше? –

+0

Привет, shmosel, моя цель - получить содержимое String в arraylist, как в точке A. Я думал, что использование split было самым простым способом сделать это, но я могу ошибаться. – Simon

ответ

0

Исправьте свои ссылки. Как упоминал cricket_007, наличие надлежащего HTML сделает это намного проще.

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> тегов из ссылок, вы можете разделить строку на <br> тегов, которые остаются и распечатать свой результат HTML. Это некрасиво, но это должно сработать.

+0

отлично! Многие thx – Simon

+0

Я заметил, что гиперссылки (Information) больше не доступны для просмотра и не открываются. Может ли это быть исправлено? Нормальные ссылки работают хорошо. – Simon

+0

Вам не хватает http: // в начале вашей ссылки в данном примере (href = "info.to ..."). Это делает относительную ссылку на ваш собственный веб-сайт. – geeves