0

URLを含む文字列があります.../details?fname=peter&lname=smith&...

lnameURL のパラメータ値を別のものに置き換える方法はありますか? lname価値は常に同じではないことに注意してください。

4

3 に答える 3

2

これを試して

NameValueCollection を返すSystem.Web.HttpUtilityクラスのstatic ParseQueryString()メソッドを使用します。

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);
于 2013-05-16T09:22:43.007 に答える
0

文字列置換を使用できます。たとえば、カスタマイズした URL を作成する必要がある場合は、次のようにすることができます。

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

string myValue ="finalvalue";

string FinalURL = myURL.Replace("#lname#,myValue);
于 2013-05-16T09:23:36.447 に答える
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
于 2013-05-16T09:25:08.540 に答える