2015-04-02 67 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

相關問題