2012-03-12 1 views
0

У меня есть строка, содержащая URL-адрес в этом формате: http://hello.world.com/service/sps/f4c0e810456t И я хотел бы извлечь последнюю часть URL-адреса, то есть f4c0e810456t.Извлечь часть URL-адреса с объектами URL/URI

я могу сделать это с подстрок:

System.out.println(s.substring(s.lastIndexOf("/") + 1, s.length())); 

Или регулярное выражение, однако, глядя на что-то более элегантное, используя URL/объекты URI, но не мог найти что-то.

Любые идеи ...?

+0

Это то, что учебник Java говорит о разборе URL-адреса, ваше требование, кажется, не быть частью списка - по крайней мере, его будет обрабатывать URL-адреса Weir (запросы и т. д.): http://docs.oracle.com/javase/tutorial/networking/urls/urlInfo.html – assylias

ответ

0

Пример с URL и колотой (это обернуть регулярное выражение для Вас):

String address = "http://hello.world.com/service/sps/f4c0e810456t"; 
    URL url = new URL(address); 

    String [] str = url.getPath().split("/"); 
    String result = str[str.length-1]; 
+0

Я ожидал чего-то более «встроенного», к этим объектам, которые я могу пропустить, но это будет сделано. Благодаря! – Joly

1

Если вы можете изменить URL-адрес на «http://hello.world.com/service/sps/?f4c0e810456t», вы можете использовать метод getQuery() (как по URL, так и по URI).

+0

извините, я не могу этого сделать – Joly