C# 检索url的一部分

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

我需要你的集体智慧。我需要得到一个url的一部分,这样我就可以把它作为一个参数来传递,从而使一些事情发生。以下是我得到的:

下面是一个url somesite/somepage/johndoe21911的示例,我需要获得21911,以便将其传递到以下内容:

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