Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.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
C# 获取最后两个文件夹';使用C从URL中选择s名称#_C#_Asp.net_Url - Fatal编程技术网

C# 获取最后两个文件夹';使用C从URL中选择s名称#

C# 获取最后两个文件夹';使用C从URL中选择s名称#,c#,asp.net,url,C#,Asp.net,Url,我有一个URL,我需要从URL下方的“business”之后和页面名称之前获取名称,即“paradise villas little.aspx” 我不明白我怎么能得到这个。我尝试了RawUrl,但它获取了完整的。请帮我怎么做 更新:这是一种URL,我需要动态检查它。您必须使用内置的字符串方法。最好是使用字符串拆分 String url = "http://test.com/anc/bussiness/accommo/resort/paradise-villas-little.aspx"; St

我有一个URL,我需要从URL下方的“business”之后和页面名称之前获取名称,即“paradise villas little.aspx

我不明白我怎么能得到这个。我尝试了RawUrl,但它获取了完整的。请帮我怎么做


更新:这是一种URL,我需要动态检查它。

您必须使用内置的字符串方法。最好是使用字符串拆分

String url = "http://test.com/anc/bussiness/accommo/resort/paradise-villas-little.aspx";
String[] url_parts = url.Split('/'); //Now you have all the parts of the URL all folders and page. Access the folder names from string array.

希望这有帮助

您可以创建一个小助手,并从它的
Uri
解析URL:

public static class Helper
{
    public static IEnumerable<String> ExtractSegments(this Uri uri, String exclusiveStart)
    {
        bool startFound = false;
        foreach (var seg in uri.Segments.Select(i => i.Replace(@"/","")))
        {
            if (startFound == false)
            {
                if (seg == exclusiveStart)
                    startFound = true;
            }
            else
            {
                if (!seg.Contains("."))
                    yield return seg;
            }
        }
    }
}

然后,
found
包含“accommo”和“resort”,此方法可扩展到任何URL长度,末尾有或没有文件名。

此实现中没有复杂的内容,只有常规的字符串操作:

        string url = "http://test.com/anc/bussiness/accommo/resort/paradise-villas-little.aspx";
        string startAfter = "business";
        string pageName = "paradise-villas-little.aspx";
        char delimiter = '/'; //not platform specific

        var from = url.IndexOf(startAfter) + startAfter.Length + 1;
        var to = url.Length - from - pageName.Length - 1;

        var strings = url.Substring(from, to).Split(delimiter);

您可能需要添加验证。

String.IndexOf或regex?@VMAtm URL是动态的,我需要获取“business”和“PageName”之间的所有内容
        string url = "http://test.com/anc/bussiness/accommo/resort/paradise-villas-little.aspx";
        string startAfter = "business";
        string pageName = "paradise-villas-little.aspx";
        char delimiter = '/'; //not platform specific

        var from = url.IndexOf(startAfter) + startAfter.Length + 1;
        var to = url.Length - from - pageName.Length - 1;

        var strings = url.Substring(from, to).Split(delimiter);