2011-05-04 24 views
0

我的一位朋友請求寫一個簡單的代碼來檢查URL是否以asp結尾。我正在考慮接受URL作爲字符串,並檢查最後的樹狀字母是否爲。我只想檢查是否有任何方法來編寫這段代碼。 (當然也有很多方法,但它必須是簡單)提前如何編寫檢查URL?

+0

你是否關心查詢字符串變量?例如:../index.asp?article=1455&category=32 – 2011-05-04 17:49:42

+0

我想。我如何找到這種輸入的解決方案 – 2011-05-04 17:51:43

回答

2

感謝你可能會想使用String.endsWith()方法。

if (s.endsWith("asp")) { 
    System.out.println("Yes"); 
} else { 
    System.out.println("No"); 
} 

如果你真的想正確地做到這一點,你可以解析字符串作爲一個真正的java.net.URL並提取使用getPath()的路徑。

URL url = new URL(s); 
String path = url.getPath(); 
if (path.endsWith("asp")) { 
    System.out.println("Yes"); 
} else { 
    System.out.println("No"); 
} 
+0

即時將輸出是或否輸入到文本文件。但我想不出如何構建它。如果字符串以index.asp結尾?article = 123。正如肯提到的。 – 2011-05-04 17:56:30

+0

@the magnificent:回覆更新以處理像'index.asp?article = 123'這樣的東西。至於寫入文件,請使用FileWriter或僅重定向程序的輸出。 – 2011-05-04 17:58:01

+0

感謝亞當..這看起來更合乎邏輯 – 2011-05-04 18:11:53

4
String url = ... 
if(url.endsWith(".asp")){ 
    // do your thing 
} 
0

正則表達式將是一個解決方案,雖然我覺得它們在Java中非常難看。

String url = .... 
if (Pattern.compile("\.asp[^\.]*\z").matcher(url).matches()){ 
    //do your thing 
} 

呃的確如此。我不知道如果我得到正確的正則表達式