我想要一个函数(在 VB.net 中),它传递一个字符串,然后使用正则表达式从该字符串中删除任何网址。它需要能够处理不同格式的 url,例如:
http://www.mysite.com
https://www.mysite.com
www.mysite.com
http://mysite.co.uk/mypage.htm
它还应该去掉任何包含 web url 的锚标记。
基本上,它不应该期望 url 以http
(or https
) 为前缀,也不应该期望有www.
or .com
。
然后该函数返回原始字符串,尽管已删除任何网址。
到目前为止,我所能想到的只是以下内容(尽管这不适合包含在锚标签中的 url),并且我注意到如果我将 2 个 url 仅用一个空格分隔,它会留下一个他们。
<Extension()> _
Public Function ReplaceWebUrls(ByVal s As String) As String
s = " " + s + " "
s = Regex.Replace(s, "([\s])(www\..*?|http://.*?)([\s])", " ")
s = Regex.Replace(s, "([\s])(https://.*?)([\s])", " ")
Return s.Trim()
End Function
VB.net 不是我通常使用的东西,但这次我别无选择,正则表达式不是我的强项:(