我正在尝试从字符串中提取 URL 并稍后使用它来创建超链接。我希望能够执行以下操作: - 确定输入字符串是否包含 URL - 从输入字符串中删除 URL - 将提取的 URL 存储在变量中以备后用
谁能帮我这个?
这是识别流行格式的 URL 的绝佳解决方案,例如:
使用的正则表达式是:
/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/
但是,我建议您访问http://blog.mattheworiordan.com/post/13174566389/url-regular-expression-for-links-with-or-without-the查看工作示例。
用您的输入替换输入
string input = string.Empty;
var matches = Regex.Matches(input,
@"/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/");
List<string> urlList = (matches.Cast<object>().Select(match => match.ToString())).ToList();