将URL解析为数组

我需要将URL解析为数组,并且在确定如何正确执行它时遇到一些困难。 这有点复杂。

所以我的URL将是这样的:

HTTP://的SharePoint /网站名称/库名称/ subfolder1 / subfolder2 / subfolder3 / documentname

结果必须如此

array0 - http://sharepoint array1 - webname array2 - libraryname array3 - subfolder1/subfolder2/subfolder3 array4 - documentname 

我很感激任何指导。

这对我有用:

 var uri = new Uri(@"http://sharepoint/webname/libraryname/subfolder1/" + "subfolder2/subfolder3/documentname"); var segments = uri.Segments .Select(s => s.EndsWith("/") ? s.Substring(0, s.Length - 1) : s) .ToArray(); var array = new [] { String.Format("{0}://{1}", uri.Scheme, uri.Host), segments[1], segments[2], String.Join("/", segments.Skip(3).Take(segments.Length - 4)), segments[segments.Length - 1], }; 

我得到这个结果:

解析的Uri阵列

如果使用Uri类,它会提供Segments属性,该属性为路径的组件提供String数组

使用System.Uri拆分Uri。 然后你可以在路径上使用String.Split 。

使用Uri类。