URL から「zpid」を取得する必要があります。たとえば、次のリンクを参照して ください。 158.027859_rect/12_zm/
値 110560800 を取得する必要があります
URL パーサーhttps://docs.oracle.com/javase/tutorial/networking/urls/urlInfo.htmlを見つけまし たが、「zpid」を取得する方法が見つかりませんでした
URL から「zpid」を取得する必要があります。たとえば、次のリンクを参照して ください。 158.027859_rect/12_zm/
値 110560800 を取得する必要があります
URL パーサーhttps://docs.oracle.com/javase/tutorial/networking/urls/urlInfo.htmlを見つけまし たが、「zpid」を取得する方法が見つかりませんでした
必要なグループに一致する正規表現を記述する必要があります。あなたの場合、使用zpid
する番号と一致する番号です\d+
private static String extract(String url) { // http://www.zillow.com/homes/for_sale/Laie-HI/110560800_zpid/18901_rid/pricea_sort/21.70624,-157.843323,21.565342,-158.027859_rect/12_zm/
Pattern pattern = Pattern.compile("(\\d+)_zpid");
Matcher matcher = pattern.matcher(url);
while (matcher.find()) {
return matcher.group(1); //110560800
}
return null;
}
String
を使用して、これを数値にキャストできますInteger.parseInt
方法は次のとおりです。
String s = "http://www.zillow.com/homes/for_sale/Laie-HI/110560800_zpid/18901_rid/pricea_sort/21.70624,-157.843323,21.565342,-158.027859_rect/12_zm/";
String[] url = s.split("/");//separating the string with delimeter "/" in url
for(int i=0;i<url.length;i++){
if(url[i].contains("zpid")){//go through each slit strings and search for keyword zpid
String[] zpid = url[i].split("_");//if zpid is found, get the number part
System.out.println(zpid[0]);
}
}