Как получить URL сайта из предложения? - PullRequest
2 голосов
/ 22 сентября 2011

Мне нужно идентифицировать URL-адреса (ссылки) в предложении, используя текстовое поле C # .Net Windows Form.

например: That is <a href="http://stackoverflow.com">http://stackoverflow.com</a> link.

это предложение в текстовом поле.

Мне нужно извлечь http://stackoverflow.com из этого предложения.

Как я могу это сделать?

Спасибо, что уделили время.

Ответы [ 4 ]

3 голосов
/ 22 сентября 2011

Посмотрите регулярное выражение гиперссылки - вы можете подключить то, что вы найдете в Regex объекте, и оно будет захватывать URL для вас.

1 голос
/ 22 сентября 2011
string str = "That is my url expression http://stackoverflow.com ";    
string pattern = @"((https?|http):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)";    
string[] arr = Regex.Split(str, pattern); Console.WriteLine(arr[1]);
0 голосов
/ 22 сентября 2011

Попробуйте:

detail = Core.URL.Replace(detail, 
      delegate(Match match)
      {
          // match.ToString() will contain http://stackoverflow.com in your case :)
          return string.Format("<a target=\"_blank\" href=\"{0}\">{0}</a>", match.ToString());
      });

С Core.URL.Replace, определенным как:

public static Regex URL = new Regex(@"(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])", RegexOptions.Compiled);

Этот код был изначально получен:

http://weblogs.asp.net/farazshahkhan/archive/2008/08/09/regex-to-find-url-within-text-and-make-them-as-link.aspx#7224581

0 голосов
/ 22 сентября 2011

Вы можете использовать LinkLabel control.Укажите текст для атрибута Text, а затем в свойстве LinkArea укажите, где должна быть только ссылка.Единственное, что допускается только одна ссылка на полный текст LinkLabel.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...