C# 检索url的一部分
我需要你的集体智慧。我需要得到一个url的一部分,这样我就可以把它作为一个参数来传递,从而使一些事情发生。以下是我得到的: 下面是一个url somesite/somepage/johndoe21911的示例,我需要获得21911,以便将其传递到以下内容:C# 检索url的一部分,c#,asp.net,url,C#,Asp.net,Url,我需要你的集体智慧。我需要得到一个url的一部分,这样我就可以把它作为一个参数来传递,从而使一些事情发生。以下是我得到的: 下面是一个url somesite/somepage/johndoe21911的示例,我需要获得21911,以便将其传递到以下内容: var url = Request.ApplicationPath.Replace("/", ""); Session["agencyId"] = _Apps.GetGehaAgencyData(portion needed goes her
var url = Request.ApplicationPath.Replace("/", "");
Session["agencyId"] = _Apps.GetGehaAgencyData(portion needed goes here);
如果您的URL看起来像一个带有http://部分的实际URL,那么您可以使用Uri类: 如果它与您的示例中没有http://部分的情况完全相同,那么您可以执行以下操作:
private static void Extract()
{
string uri = "http://somesite/somepage/johndoe21911";
string last = uri.Substring(uri.LastIndexOf('/') + 1);
string numOnly = Regex.Replace(last, "[^0-9 _]", string.Empty);
Console.WriteLine(last);
Console.WriteLine(numOnly);
}
上面假设您需要URL最后一段的所有数字,这就是您所说的需求。也就是说,如果您的URL如下所示:
private static void Extract()
{
string uri = "http://somesite/somepage/johndoe21911";
string last = uri.Substring(uri.LastIndexOf('/') + 1);
string numOnly = Regex.Replace(last, "[^0-9 _]", string.Empty);
Console.WriteLine(last);
Console.WriteLine(numOnly);
}
somesite/somepage/john123doe456
这将提取123456
如果只需要最后5个字符,只需使用string.Substring来提取最后5个字符
如果您想要字符串末尾的数字,那么这将起作用
private static void Extract()
{
string uri = "somesite/somepage/john123doe21911";
string last = uri.Substring(uri.LastIndexOf('/') + 1);
string numOnly = Regex.Match(last, @"\d+$").Value;
Console.WriteLine(last);
Console.WriteLine(numOnly);
}
哦,说我在谷歌上遇到了一些东西,但不确定如何实现它们是一个非常懒惰的回答。如果你在谷歌上搜索,你可以找到无数关于如何做所有这些事情的例子,甚至在这个网站上。请从下一次开始先做你的研究,然后自己试试。我想这是Asp.Net?MVC?Web API?请适当地标记你的问题。你试过什么吗?关于从一个更大的字符串中得到一个数字有很多问题,我需要得到21911的确切含义是什么?换句话说,你想要提取什么的标准是什么?是URL最后一部分的数字,还是最后五个字符,还是最后五个数值?你明白我的意思了。对不起,如果我不清楚的话,我只需要从url中检索号码21911,是的,这是在C asp.net中,我想我已经标记了它@Sach,最后一部分的任何数字。我在谷歌上遇到了一些东西,但不确定如何实现them@WayneFerrigno这个问题上显然没有asp.net标签。谢谢你的时间,我会在未来做更多的尽职调查。再次,我去了,让我的生活更轻松。URL会有一些变化,允许我使用查询字符串,我可以只使用Request.QueryString