如何只取点前后的数字?
How to take only the number before and after dot?
对不起我的英语。我正在使用 Jsoup 从网站上提取用户对手机的评分。速率在 span 标签之间,但没有 class 或 id,为此我使用 span 所在的 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
评分数字在点前后。有没有一种简单的方法可以只提取这些数字。
您可以使用此正则表达式获取数字:
\d+\.?\d*
有效吗?
Elements phoneRate = rate.select("div[class=rating-wrapper] span");
(注意:他似乎想要 span 元素内的值,例如参见:http://www.skroutz.gr/c/40/kinhta-thlefwna.html?order_dir=asc&page=2)
对不起我的英语。我正在使用 Jsoup 从网站上提取用户对手机的评分。速率在 span 标签之间,但没有 class 或 id,为此我使用 span 所在的 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
评分数字在点前后。有没有一种简单的方法可以只提取这些数字。
您可以使用此正则表达式获取数字:
\d+\.?\d*
有效吗?
Elements phoneRate = rate.select("div[class=rating-wrapper] span");
(注意:他似乎想要 span 元素内的值,例如参见:http://www.skroutz.gr/c/40/kinhta-thlefwna.html?order_dir=asc&page=2)