将URL解析为数组 [英] Parsing a URL into an array

查看:65
本文介绍了将URL解析为数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要将一个URL解析为一个数组,并且在弄清楚如何正确执行它时遇到了一些困难.有点复杂.

所以我的URL应该是这样的:

> http://sharepoint/webname/libraryname/subfolder1/subfolder2/subfolder3/documentname

结果需要像这样

  array0-http://sharepointarray1-网站名称array2-库名array3-子文件夹1/子文件夹2/子文件夹3array4-文件名 

我将不胜感激.

解决方案

这对我有用:

  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),细分[1],细分[2],String.Join("/",segment.Skip(3).Take(segments.Length-4)),段[segments.Length-1],}; 

我得到这个结果:

I need to parse a URL into an array and was having some difficulties figuring out how to do it properly. It's a bit complicated.

So my URL would be something like this:

http://sharepoint/webname/libraryname/subfolder1/subfolder2/subfolder3/documentname

And the results would need to be like so

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

I would appreciate any guidance.

解决方案

This works for me:

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],
};

I get this result:

这篇关于将URL解析为数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆