2013-05-16 85 views
0

我有一個包含URL即.../details?fname=peter&lname=smith&...更改URL參數值

有沒有辦法來取代另一個URL中的lname參數值的字符串?請記住lname的值並不總是相同的。

+0

你的意思是說。你需要總是替換第二個參數值? –

+0

http://msdn.microsoft.com/en-us/library/dd789093.aspx – Guy

回答

2

試試這個

使用靜態ParseQueryString()返回的NameValueCollection System.Web.HttpUtility類的方法。

string url = "http://example.com/file?a=1&b=2&c=string%20param"; 
string querystring = url.Substring(url.IndexOf('?')); 
System.Collections.Specialized.NameValueCollection parameters = 
    System.Web.HttpUtility.ParseQueryString(querystring); 
0

您可以使用字符串替換。例如,如果你需要建立一個自定義的網址,你可以做這樣的事情:

string myURL = ".../details?fname=peter&lname=#lname#"; 

string myValue ="finalvalue"; 

string FinalURL = myURL.Replace("#lname#,myValue); 
0

你可以這樣做:

Dim sAux() As String = sURL.Split(New Char() {"?"c, "&"c}) 
Dim sParams() As String 

For Each elem As String In sAux 
    sParams = elem.Split("="c) 
    If sParams(0).Equales("lname", StringComparison.CurrentCultureIgnoreCase) Then 
     sUrl = sUrl.Replace("lname=" & sParams(1), "lname=" & sNewValue) 
    End If 
Next 

或者乾脆:

Dim index As Integer = sUrl.IndexOf("lname=") 
Dim auxIndex As Integer = sUlr.IndexOf("&", index + 1) 
Dim sAux As String 

If index >= 0 Then 
    If auxIndex < 0 Then 
     sAux = sUrl.Substring(index) 
    Else 
     sAux = sUrl.SubString(index, sUrl.Length - auxIndex) 
    End If 

    sUrl = sUrl.Replace(sAux, "lname=" & sNewValue) 
End If