我想解析一个基本上是URL的字符串。我需要检查一下参数是否传递给它。
所以http://a.b.c/?param=1将返回true http://a.b.c/?no=1将返回false并且http://a.b.c/?a=1&b=2.....¶m=2将返回true,因为param已设置
我猜它会涉及某种正则表达式。
答案 0 :(得分:6)
Java有一个用于处理网址的内置库:Spec for URL here。
您可以从字符串创建URL对象并提取查询部分:
URL url = new URL(myString);
String query = url.getQuery();
然后制作键和值的映射:
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);
}
然后使用params.containsKey(key);
可能有一个图书馆为你做了这一切,所以先来看看。
答案 1 :(得分:0)
String url = "http://a.b.c/?a=1&b=2.....¶m=2";
String key = "param";
if(url.contains("?" + key + "=") || url.contains("&" + key + "="))
return true;
else
return false;