![](/img/trans.png)
[英]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.