Как сопоставить слово (строку) в URL - PullRequest
1 голос
/ 17 декабря 2011

Этот веб-сайт содержит разные URL-адреса, но я хочу, чтобы мое приложение должно было содержать только URL-адреса, содержащие конкретные ключевые слова, такие как «наркотики», например, если URL-адреса

http://website.com/countryname/drug/info/A

http://website.com/countryname/Browse/Alphabet/D?cat=company

он должен посетить первый URL.так как найти конкретное ключевое слово наркотик в URL. Я знаю, что это можно сделать и с помощью regexp, но есть, но я новичок в этом, я использую Java здесь

Ответы [ 2 ]

2 голосов
/ 17 декабря 2011

Вы можете проверить, содержит ли строка слово, методом method ().if(myString.contains("drugs"))Если вам нужны только URL-адреса, содержащие / drug /, попробуйте сделать что-то вроде этого:

    Pattern p = Pattern.compile("/drug(/|$)");
    Matcher m = p.matcher(myURLString);
    if(m.find())
    {
        something_to_do
    }

(/|$) означает, что после /drug может быть только косая черта (/) или вообще ничего (доллар означает конецстроки). Так что это регулярное выражение найдет все, если ваша строка похожа на .../drug/... или .../drug

0 голосов
/ 17 декабря 2011

Используйте split() как таковое:

final String[] words = input.replaceFirst("https?://", "").split("/+");
for (final String word: words)
    if ("whatyouwant".equals(word))
       //do what is necessary since the word matches

Если ваш код вызывается очень часто, вы можете выбрать Pattern s из https?:// и /+ и использовать Matcher s.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...