Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 更改url参数值_.net_Regex_Vb.net - Fatal编程技术网

.net 更改url参数值

.net 更改url参数值,.net,regex,vb.net,.net,Regex,Vb.net,我有一个包含URL的字符串,即../details?fname=peter&lname=smith&… 有没有办法用另一个参数值替换URL中的lname参数值?请记住,lname值并不总是相同的。试试这个 使用返回NameValueCollection的类的静态方法 string url = "http://example.com/file?a=1&b=2&c=string%20param"; string querystring = url.Substring(url.Inde

我有一个包含URL的字符串,即
../details?fname=peter&lname=smith&…

有没有办法用另一个参数值替换URL中的
lname
参数值?请记住,
lname
值并不总是相同的。

试试这个

使用返回NameValueCollection的类的静态方法

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);

可以使用字符串替换。例如,如果需要构建自定义url,可以执行以下操作:

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

string myValue ="finalvalue";

string FinalURL = myURL.Replace("#lname#,myValue);
您可以这样做:

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
Dim index As Integer=sUrl.IndexOf(“lname=”)
作为整数的维生长素指数=sUlr.IndexOf(“&”,索引+1)
作为弦的暗索
如果索引>=0,则
如果生长素指数<0,则
sAux=附加子串(索引)
其他的
sAux=sUrl.子串(指数,sUrl.长度-生长素指数)
如果结束
sUrl=sUrl.Replace(sAux,“lname=”&sNewValue)
如果结束

你的意思是说。是否始终需要替换第二个参数值?