如何匹配URL中的单词(字符串)

发布于 2024-12-21 13:56:29 字数 432 浏览 1 评论 0原文

该网站包含不同的网址,但我希望我的应用程序应该仅访问包含特定关键字(例如“药物”)的网址 如果网址为

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

< a href="http://website.com/countryname/Browse/Alphabet/D?cat=company" rel="nofollow">http://website.com/countryname/Browse/Alphabet/D?cat=company< /a>

它应该首先访问URL.so 如何匹配 url 中的特定关键字药物。我知道也可以使用正则表达式来完成,但是有,但我是新手 我这里使用Java

This website contains different Url, But i want my application should vist urls only which contains specific keyword like "drugs" like
if urls are

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

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

it should visit first URL.so how to match a specific keyword drug in url.I know it can be done using regexp also,but have but i am new to it
I am using Java here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

猥琐帝 2024-12-28 13:56:29

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

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

(/|$) 表示 /drug 之后只能是斜杠 ( / ) 或什么都没有完全(美元意味着行尾)。因此,如果您的字符串类似于 .../drug/....../drug,则此正则表达式将找到所有内容>

You can check if string contains a word with method contains().
if(myString.contains("drugs"))
If you need only URLs containing /drug/ try to do something like this:

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

(/|$) means that after /drug can be only a slash ( / ) or nothing at all (dollar means end of the line).So this regex will find all if your string is like .../drug/... or .../drug

策马西风 2024-12-28 13:56:29

像这样使用 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

如果您的代码被频繁调用,您可能需要使用 https?:// 制作 Pattern/+ 并使用 Matcher

Use split() as such:

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

If your code is called very often, you may want to make Patterns out of https?:// and /+ and use Matchers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文