2015-04-02 71 views
0

对不起,我的英文。我正在使用Jsoup从网站提取用户对手机的评级。房价是span标签之间,但不具有类或ID和我使用div标签,其中跨度为如何在点之前和之后仅使用数字?

for(int j=0; j<=3; j++){ 
     //get page 
     Document rate = Jsoup.connect("http://www.skroutz.gr/c/40/kinhta-thlefwna.html?order_dir=asc&page=" + j).userAgent("Mozilla").get(); 
     // get rate 
     Elements phoneRate = rate.select("div[class=rating-wrapper]"); 
     //print all rates 
     for(int i = 1; i<phoneRate.size(); i++){ 

      System.out.println("Rate: " + phoneRate.get(i).text()); 
     } 
    } 

是我得到的结果是这样的:

Rate: 102.9 
Rate: 44 
Rate: 00 
Rate: 113.1 
Rate: 43 
Rate: 33.3 
Rate: 00 
Rate: 15

评级号码在点之前和之后。有没有简单的方法来提取只有这些数字。

+1

你只希望整个号,前102,而不是102.9的情况下? – dbarnes 2015-04-02 21:02:02

+0

你是什么意思“点之前和之后”?你能编辑你的问题,并为你显示的数据添加你期望的输出吗? – RealSkeptic 2015-04-02 21:03:25

+0

你能打印出phoneRate.get(i).text()的一个子串而不是整个东西吗? – HandleThatError 2015-04-02 21:03:28

回答

1

您可以使用此正则表达式来得到的数字:

\d+\.?\d* 

Working demo

相关问题