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 сыныбын пайдалансаңыз, ол Сегменттері қасиеті жолдың компоненттерін String массиві ретінде береді

2
қосылды

Uri бөлуге арналған System.Uri пайдаланыңыз. Одан кейін String.Split жолында қолдануға болады.

1
қосылды

Uri сыныбын пайдаланыңыз.

1
қосылды