我有以下格式的字符串:
http://www.somesomesome.com/ShowProduct.aspx?ID=232
http://www.somesomesome.com/showproduct.aspx?ID=233
http://www.somesomesome.com/showproduct.aspx?ID=272
http://www.somesomesome.com/ShowProduct.aspx?ID=253
我想提取“ShowProduct.aspx?ID = 232”( case-insentive ,此处可以是232或233或任何其他数字)
并将其附加到另一个字符串"http://www.notthiswebsite.com/"
并制作
http://www.notthiswebsite.com/ShowProduct.aspx?ID=232
我如何在C#中完成?
答案 0 :(得分:1)
您可以使用此
var url = "http://www.somesomesome.com/ShowProduct.aspx?ID=232";
var newHost = "www.notthiswebsite.com";
var finalUrl = url .Replace(new Uri(url).Host, newHost);
答案 1 :(得分:0)
你可以试试这个:
%9%9
现在你可以将pathQuery添加到你想要的任何字符串
答案 2 :(得分:0)
您可以使用substring
获取最后一部分。
string url = "http://www.somesomesome.com/ShowProduct.aspx?ID=232";
url = url.Substring(url.LastIndexOf(@"/") + 1);
要获得这个数字,你可以做到这一点
string Id = url.Substring(url.LastIndexOf("=") + 1);
如果您在页面加载时收到此信息,则可以使用QueryString
string Id="";
if (Request.QueryString["ID"] != null)
Id = Request.QueryString["ID"].ToString();
答案 3 :(得分:0)
如果网址格式一直相同,您可以直接从28
索引Substring
:
string input = "http://www.somesomesome.com/ShowProduct.aspx?ID=232";
string result = "http://www.notthiswebsite.com/" + input.Substring(28);
如果长度不同,我们需要找到ShowProduct
部分开始的位置。为此,我们可以使用LastIndexOf
和/
字符来查找从哪里开始。顾名思义,此方法将从字符串的末尾开始并备份,直到找到符号。
之后,我们必须将索引值增加1,因为我们要在S
而不是/
本身上启动子字符串:
string input = "http://www.somesomesome.com/ShowProduct.aspx?ID=232";
string result = "http://www.notthiswebsite.com/" + input.Substring(input.LastIndexOf('/') + 1);
答案 4 :(得分:0)
string s1 = "http://www.somesomesome.com/ShowProduct.aspx?ID=232";
string str1 = s1.Substring(s1.LastIndexOf('/') + 1); //ShowProduct.aspx?ID=232
string str2 = "http://www.notthiswebsite.com/";
string result = str2 + str1;
您可以使用此