2011-07-01 99 views
0

我有一個字符串像「去堆棧溢出http://stackoverflow.com」 現在我想解析從這個字符串使用C#的鏈接。 我希望輸出格式如下。 「Go to stack overflow <a href=http://stackoverflow.com target=_blank>http://stackoverflow.com</>如何從字符串解析鏈接

在C#中可能嗎?

+0

是的,嘗試谷歌像 「從字符串C#正則表達式鏈接」,一個的第一次點擊是http://weblogs.asp.net/farazshahkhan/archive/2008/08/09/regex-to-find-url-within-text-and-make-them-as-link.aspx,你應該從那裏找到你的方式。 – Dominik

回答

0

使用正則表達式使用此模式^(https?://)?(([0-9a-z_!'().&=$%-]:)?[0-9a-z_!'().&=$%-]@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-z_!'()-]\.)([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.[a-z]{2,6})(:[0-9]{1,4})?((/?)|(/[0-9a-z_!*'().;?:@&=$,%#-])/?)$

0
var input = @"Go to stack overflow http://stackoverflow.com"; 
var result = Regex.Replace(input, 
    @"((?<Protocol>\w+):\/\/(?<Domain>[\[email protected]][\w.:@]+)\/?[\w\.?=%&=\[email protected]/$,]*)", 
    @"Go to stack overflow <a href=$1 target=_blank>$1</>"); 

輸出:

Go to stack overflow Go to stack overflow <a href=http://stackoverflow.com target=_blank>http://stackoverflow.com</>