Разбор строки с использованием регулярных выражений - PullRequest
0 голосов
/ 11 ноября 2011
  String  url =    "http://search.host.com/search-ui/?mq=*%3A*&f=productLine%WS%3A+Globalstar%22%5D&f=product%5B"

Я хочу извлечь только search-ui из вышеуказанной ссылки с помощью регулярных выражений. Как я могу сделать это наиболее эффективным способом. Как я могу разобрать вышеупомянутый URL с помощью метода split. Но есть ли другой способ добиться этого.

String a[] = url.split("/");

Таким образом, у [3] есть search-ui. Есть ли другой эффективный способ ..

Любая помощь будет оценена.

1 Ответ

2 голосов
/ 11 ноября 2011

используя split():

urlString.split("/")[3];

или что-то более точное:

urlString.split(".com/")[1].split("/?")[0];

, кстати, будет быстрее использовать цикл for вместо использования splitно разбиение гораздо проще и удобочитаемее.

с использованием regex:

регулярные выражения более гибкие и точные, но медленнее.

Pattern pattern = Pattern.compile("^http://.*?/(.*?)/.*?$");
Matcher matcher = pattern.matcher(urlString);
matcher.group(0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...