如何匹配URL中的单词(String)

时间:2011-12-17 07:58:45

标签: java regex url pattern-matching string-matching

这个网站包含不同的网址,但是我希望我的应用程序只能访问包含像“毒品”这样的特定关键字的网址 如果网址是

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

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

它应该访问第一个URL。所以如何匹配url中的特定关键字药物。我知道它也可以使用regexp完成,但有但我是新手 我在这里使用Java

2 个答案:

答案 0 :(得分:2)

您可以检查字符串是否包含方法contains()的单词 if(myString.contains("drugs"))
如果您只需要包含/ drug /的网址,请尝试执行以下操作:

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

(/|$)表示在/drug之后只能是斜杠(/)或者根本没有(美元表示行的末尾)。因此,如果您的字符串类似于{{{},则此正则表达式将找到所有字符串。 1}}或.../drug/...

答案 1 :(得分:0)

使用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

如果经常调用您的代码,您可能需要Patternhttps?://中的/+并使用Matcher