Как насчет java.net.URI или классов URL ...
try {
URI url = new URI("https://www.google.com/foo?test=horse");
System.out.println(url.getScheme()); // https
System.out.println(url.getHost()); // www.google.com
System.out.println(url.getPath()); // /foo
System.out.println(url.getQuery()); // test=horse
} catch (URISyntaxException e) {
e.printStackTrace();
}
Изменить: я использовал URI, потому что я помню, что где-то URL имел побочные эффекты. Только что проверил, метод hashCode () выполняет поиск DNS. Поэтому придерживайтесь URI, если вы просто хотите повторно использовать функцию парсинга URL ... См. Этот вопрос