我需要使用C#.Net Windows Form的TextBox识别句子中的URL(链接)。
例如:That is http://stackoverflow.com link.
该句子在文本框中。
我需要从这句话中提取http://stackoverflow.com
。
我该怎么做?
谢谢你的时间。
答案 0 :(得分:3)
查找超链接正则表达式 - 您可以将您在Regex
对象中找到的内容插入其中,它将为您捕获该网址。
答案 1 :(得分:1)
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]);
答案 2 :(得分:0)
您可以使用LinkLabel
控件。向Text
属性提供文本,然后在权利LinkArea
中定义仅应链接的位置。唯一的事情是每个完整LinkLabel
文本只允许一个链接。
答案 3 :(得分:0)
尝试:
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\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])", RegexOptions.Compiled);
此代码最初来自: