2015-08-07 24 views
5

Bir proje için HTML verileri ayıklamak için bir JAVA programı yazıyorum. BuHTML içinde metin ayıklayın <br> tags JSOUP

<td align="left" valign="top" class="style3"> 
     PC/Van<br>$14 (Mon-Fri, excl PH) 
     <br> 
     $18 (Sat, Sun & PH)<br><br>$70/Day(Mon-Fri, excl PH: Entry - 24:00) 
     <br> 
     $100/day (Sat, Sun & PH: Entry - 24:00) 
</td></tr> 

çıkarılması için benim JAVA kodu aşağıdaki HTML kodu olduğunu.

String connect1 = url1.toString(); 
Document doc1 = Jsoup.connect(connect1).get(); 


     // get all links 
     Elements type1 = doc1.select("[class=\"style3\"]");  

     int size = type1.size(); 

      try {  
       String text =type1.first.text(); 
       System.out.println(text); 

       } catch (Exception e) { 
       e.printStackTrace(); 

      } 

alıyorum çıktı

PC/Van$14 (Mon-Fri, excl PH)$18 (Sat, Sun & PH)$70/Day(Mon-Fri, excl PH: Entry - 24:00)$100/day (Sat, Sun & PH: Entry - 24:00) 

nasıl < br> etiketleri onları ayırabilirsiniz.'Gider?

Document doc1 = Jsoup.parse(s); 
Elements type1 = doc1.select("[class=\"style3\"]"); 
try {  
    String text =type1.first().html(); 
    text = text.replaceAll("<br>", "\n"); 
    System.out.println(text); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

veya dize metni bölmek:

cevap

2

bu soruya göre, kod örneği aşağıda gösterilmiştir <br> etiketi ile dizi

Document doc1 = Jsoup.parse(s); 
Elements type1 = doc1.select("[class=\"style3\"]"); 
try {  
    String text =type1.first().html(); 
    String[] textSplitResult = text.split("<br>"); 
    if (null != textSplitResult) { 
     for (String t : textSplitResult) { 
      System.out.println(t); 
     } 
    } 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

veya çıkış sonucu java8 lambda kullanmak

String text =type1.first().html(); 
String[] textSplitResult = text.split("<br>"); 
if (null != textSplitResult) { 
    Arrays.stream(textSplitResult).peek((x) -> System.out.println(x)).count(); 
    //or Arrays.stream(textSplitResult).peek(System.out::println).count(); 
} 

yürütme sonucu:

PC/Van 
$14 (Mon-Fri, excl PH) 
$18 (Sat, Sun &amp; PH) 

$70/Day(Mon-Fri, excl PH: Entry - 24:00) 
$100/day (Sat, Sun &amp; PH: Entry - 24:00) 
İlgili konular