[英]Extract text within HTML <br> tags JSOUP
我正在編寫一個 JAVA 程序來提取項目的 HTML 數據。 這是 HTML 代碼
<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>
以下是我提取的JAVA代碼。
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();
}
我得到的輸出是
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)
如何將它們從 <br> 標簽中分離出來?
您可以將所有<br>
標簽替換為\\n
符號,代碼示例如下所示:
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();
}
或使用<br>
標簽將文本拆分為字符串數組
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();
}
或使用 java8 lambda 輸出結果
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();
}
執行結果:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.