[英]Check String whether it contains certain charecters Java Regular Expression
[英]Check whether a URL contains any parameter or not using a regular expression
如何检查是否有任何URL包含一个或多个参数?
例如,如果URL是
.../PaymentGatewayManager?mode=5015
那么我们应该能够知道URL包含一个参数。 或者如果URL是
.../PaymentGatewayManager
那么我们应该能够知道URL不包含任何参数。 或者如果URL是
.../PaymentGatewayManager?mode=5015&test=456123&abc=78
然后我们应该能够知道URL包含三个参数,并且我们还应该能够使用Java中的任何正则表达式知道参数名称和值。
如果你想用正则表达式做(这也可以优化以在组内进行搜索):
public static void main(String[] args) {
String input = ".../PaymentGatewayManager?mode=5015&test=456123&test2=SomeRandomValue&abc=78";
if(input.contains("?")){
System.out.println("It does contain parameters");
input = "&" + input.substring(input.indexOf("?")+1) + "&";
System.out.println(input);
Pattern p = Pattern.compile("&?(\\w.+?)=(.+?)&");
Matcher m = p.matcher(input);
while(m.find()){
System.out.println("Token ->" + m.group(1));
System.out.println("Value ->" + m.group(2));
}
}
}
使用java.net.URI的方法获取有关URL的所有信息。
编辑:使用URI,而不是URL(感谢McDowell)。
您可以使用String.split()
URL,或使用java.util.StringTokenizer
对其进行标记,使用?
作为分裂者角色。 如果您获得多个部分,则确保该URL包含参数。
要获取参数,通过分割第二部分&
以同样的方式。 你会得到参数。 将每一个拆分为=
将为您提供名称和值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.