URLを配列に解析する

私は配列にURLを解析する必要があり、それを正しく行う方法を理解することがいくつかの困難を抱えていました。それは少し複雑です。

したがって、私のURLは次のようになります:

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

結果はそうである必要があります

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

私はどんな指導にも感謝します。

1

4 答え

これは私のために働く:

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

私はこの結果を得る:

Parsed Uri Array

6
追加された
これは素晴らしいことです、この例のおかげで。
追加された 著者 PixelMuse,

Uri クラスを使用する場合は、セグメントプロパティは、パスのコンポーネントを文字列配列として提供します

2
追加された

Uriを分割するには、 System.Uri を使用してください。その後、パス上で String.Split を使用することができます。

1
追加された

Uri クラスを使用してください。

1
追加された