如何以最简单的形式检查URL中是否存在参数

geo*_*xis 1 java

我想解析一个基本上是URL的字符串.我需要检查一下参数是否传递给它.

所以http:// abc /?param = 1将返回true http:// abc /?no = 1将返回false并且http:// abc /?a = 1&b = 2 .....¶m = 2将返回因为param已设置,所以为true

我猜它会涉及某种正则表达式.

ver*_*ald 6

Java有一个用于处理URL的内置库:此处为URL的规范.

您可以从字符串创建URL对象并提取查询部分:

URL url = new URL(myString);
String query = url.getQuery();
Run Code Online (Sandbox Code Playgroud)

然后制作键和值的映射:

Map params<string, string> = new HashMap<string, string>();
String[] strParams = query.split("&");
for (String param : strParams)  
{  
    String name = param.split("=")[0];  
    String value = param.split("=")[1];  
    params.put(name, value);  
}
Run Code Online (Sandbox Code Playgroud)

然后检查你想要的参数 params.containsKey(key);

可能有一个图书馆可以为你做这一切,所以先来看看.