2016-10-31 9 views
0

split을 사용하여 문자열 내용을 arraylist로 변환 할 수 있습니까? 그러면 점 A와 비슷한 것을 얻을 수 있습니까?분할을 사용하여 문자열을 arraylist로 변환

<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 

은 지금 코드 아래 사용하고 있지만, 원하는 출력을 가지고 어쩌려 구`t. (거울은 여러 번 추가되는 등).

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, 내 목표는 A 지점에서와 같은 arraylist에 문자열의 내용을 얻는 것입니다. 분할을 사용하는 것이 가장 쉬운 방법이라고 생각했지만 잘못 될 수 있습니다. – 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

주어진 예제 (href = "info.to ...")에서 링크의 시작 부분에 http : //가 없습니다. 그것은 자신의 웹 사이트 디렉토리에 대한 상대 링크를 만들고 있습니다. – geeves

관련 문제