如何解析字符串中的链接

本文关键字:链接 字符串 何解析 | 更新日期: 2023-09-27 18:00:57

我有一个类似"转到堆栈溢出"的字符串http://stackoverflow.com"现在我想使用c#解析这个字符串中的链接。我想要以下格式的输出。"Go to stack overflow <a href=http://stackoverflow.com target=_blank>http://stackoverflow.com</>">

这在C#中可能吗?

如何解析字符串中的链接

将正则表达式与此模式一起使用^(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_!*'().;?:@&=$,%#-])/?)$

var input = @"Go to stack overflow http://stackoverflow.com";
var result = Regex.Replace(input, 
    @"((?<Protocol>'w+):'/'/(?<Domain>['w@]['w.:@]+)'/?['w'.?=%&='-@/$,]*)",
    @"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</>