Это работает для меня:
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],
};
Я получаю этот результат:
