0

我正在使用 Jsoup 和 Java 来解析 HTML 文件。我的问题是如何才能提取显示“每小时费率:23,016 个订单”的行我正在解析很多文件,所以每小时费率旁边的数字会改变。

<html>
<head>
<title>Testing</title>
</head>
<body>
<p class=MsoNormal align=center style='background:#DEDEDF'>
<span style='font-size:18.0pt'><b>Testing</b></span></p>
Hourly Rate: 23,016 orders<br>
<table border=0 cellpadding=0>
<tr valign=top>
<td>

谢谢

4

2 回答 2

1

我刚刚添加了这段代码:

 String HourlyRate = doc.body().ownText();
//String text = doc.body().text();

System.out.println(HourlyRate);

打印出来:每小时费率:23,016 个订单

于 2013-06-17T14:49:30.223 回答
0

获取 MsoNormal 类,然后使用正则表达式查找数字,即

Document doc = Jsoup.parse(htmlString);
Element msoNormal = doc.getElementsByClass("MsoNormal").first();
if(msoNormal!=null){
  Pattern p = Pattern.compile("[0-9]+,[0-9]+");
  Matcher m = pattern.matcher(msoNormal.text());
  if(matcher.find())
    System.out.println(m.get());
}
于 2013-06-17T14:07:04.520 回答