using System;
using System.Linq;
using System.IO;
public class Test
{
public static void Main()
{
String[]uris = new[]{ "http://s...content-available-to-author-only...1.org/info.php","http://s...content-available-to-author-only...2.com/info/index.php","http://s...content-available-to-author-only...3.edu/", "http://s...content-available-to-author-only...3.edu/", "no uri", "" };
var result = uris.Where(u => Uri.IsWellFormedUriString(u, UriKind.Absolute))
.Select(u => {
var p = new Uri(u).ToString();
return p.Substring(0, p.LastIndexOf('/') +1);
})
.Distinct()
.ToArray();
Console.Write(String.Join(Environment.NewLine,result));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLklPOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJICAgIFN0cmluZ1tddXJpcyA9IG5ld1tdeyAiaHR0cDovL3MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLjEub3JnL2luZm8ucGhwIiwiaHR0cDovL3MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLjIuY29tL2luZm8vaW5kZXgucGhwIiwiaHR0cDovL3MuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLjMuZWR1LyIsICJodHRwOi8vcy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uMy5lZHUvIiwgIm5vIHVyaSIsICIiIH07CgkgICAgdmFyIHJlc3VsdCA9IHVyaXMuV2hlcmUodSA9PiBVcmkuSXNXZWxsRm9ybWVkVXJpU3RyaW5nKHUsIFVyaUtpbmQuQWJzb2x1dGUpKQogICAgICAgICAgICAuU2VsZWN0KHUgPT4geyAKICAgICAgICAgICAgICAgIHZhciBwID0gbmV3IFVyaSh1KS5Ub1N0cmluZygpOwogICAgICAgICAgICAgICAgcmV0dXJuIHAuU3Vic3RyaW5nKDAsIHAuTGFzdEluZGV4T2YoJy8nKSArMSk7IAogICAgICAgICAgICB9KQogICAgICAgICAgICAuRGlzdGluY3QoKQogICAgICAgICAgICAuVG9BcnJheSgpOwoKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZShTdHJpbmcuSm9pbihFbnZpcm9ubWVudC5OZXdMaW5lLHJlc3VsdCkpOwoJfQp9