как я могу удалить протокол из URI? т.е. удалить HTTP
Как удалить PROTOCOL из URI
Ответ 1
Вы можете использовать этот класс System.Uri следующим образом:
System.Uri uri = new Uri("http://stackoverflow.com/search?q=something");
string uriWithoutScheme = uri.Host + uri.PathAndQuery + uri.Fragment;
Этот wil даст вам stackoverflow.com/search?q=something
Изменить: это также работает примерно: blank: -)
Ответ 2
В общем смысле (не ограничиваясь http/https), (абсолютный) uri всегда является схемой, сопровождаемой двоеточием, за которой следуют данные, специфичные для схемы. Итак, единственная безопасная вещь, которую нужно сделать, - это вырезать по схеме:
    string s = "http://stackoverflow.com/questions/4517240/";
    int i = s.IndexOf(':');
    if (i > 0) s = s.Substring(i + 1);
В случае с http и несколькими другими вам также может понадобиться .TrimStart('/'), но это  не часть схемы и не гарантируется существование. Тривиальный пример: about:blank.
Ответ 3
Лучший (и для меня самый красивый) способ - использовать класс Uri для синтаксического анализа строки до абсолютного URI, а затем используйте метод GetComponents с правильным UriComponents перечисление, чтобы удалить схему:
Uri uri;
if (Uri.TryCreate("http://stackoverflow.com/...", UriKind.Absolute, out uri))
{
    return uri.GetComponents(UriComponents.AbsoluteUri &~ UriComponents.Scheme, UriFormat.UriEscaped);
}
Дальнейшая ссылка: перечисление UriComponents украшено FlagsAttribute, поэтому побитовые операции (например, & и |). В этом случае &~ удаляет биты для UriComponents.Scheme из UriComponents.AbsoluteUri с помощью оператора AND в сочетании с оператором побитового дополнения.
Ответ 4
Для этого вы можете использовать RegEx. Нижеприведенный образец удовлетворит ваши потребности.
    using System;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      string txt="http://www.google.com";
      string re1="((?:http|https)(?::\\/{2}[\\w]+)(?:[\\/|\\.]?)(?:[^\\s\"]*))";    // HTTP URL 1
      Regex r = new Regex(re1,RegexOptions.IgnoreCase|RegexOptions.Singleline);
      Match m = r.Match(txt);
      if (m.Success)
      {
            String httpurl1=m.Groups[1].ToString();
            Console.Write("("+httpurl1.ToString()+")"+"\n");
      }
      Console.ReadLine();
    }
  }
}
Сообщите мне, помогает ли это
Ответ 5
Это не самый красивый способ, но попробуйте что-то вроде этого:
var uri = new Uri("http://www.example.com");
var scheme = uri.Scheme;
var result = uri.ToString().SubString(scheme.Length + 3);
