Regex 删除所有web url';使用VB.net和正则表达式从字符串

Regex 删除所有web url';使用VB.net和正则表达式从字符串,regex,vb.net,replace,Regex,Vb.net,Replace,我想要一个传递字符串的函数(在VB.net中),然后使用正则表达式从该字符串中删除任何web地址。它需要能够处理不同格式的url,例如: http://www.mysite.com https://www.mysite.com www.mysite.com http://mysite.co.uk/mypage.htm 它还应该去掉任何包含web url的锚定标记 基本上,它不应该期望url的前缀是http(或https),也不应该期望有www.或.com 然后,该函数返回原始字符串,尽管删除了

我想要一个传递字符串的函数(在VB.net中),然后使用正则表达式从该字符串中删除任何web地址。它需要能够处理不同格式的url,例如:

http://www.mysite.com
https://www.mysite.com
www.mysite.com
http://mysite.co.uk/mypage.htm
它还应该去掉任何包含web url的锚定标记

基本上,它不应该期望url的前缀是
http
(或
https
),也不应该期望有
www.
.com

然后,该函数返回原始字符串,尽管删除了所有web地址

到目前为止,我所能想到的是以下内容(尽管这不适合锚定标记中包含的URL),我注意到,如果我将两个URL仅用一个空格分隔,就会留下其中一个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
_
公共函数replaceWebURL(ByVal s作为字符串)作为字符串
s=”“+s+“”
s=Regex.Replace(s),([\s])(www\..*?| http://.*?([\s]),“”)
s=Regex.Replace(s,([\s])(https://.*?([\s]),“”)
返回s.Trim()
端函数
VB.net不是我通常使用的东西,但这次我别无选择,正则表达式也不是我的强项:(

使用正则表达式模式

\b(?:https?://|www\.)\S*

(?:(?使用正则表达式模式

\b(?:https?://|www\.)\S*


(?:(?那么它与“this.url”或“localhost/test”有什么关系?两者都可以是有效的URI。事实上,我已经将我的本地服务器设置为将“phd”作为演示文稿的有效URI。我不需要处理内部/本地url。只需尝试处理大多数主流的、常见的结构化地址类型。那么它与“this.url”或“localhost/test”都可以是有效的URI。事实上,我已经将我的本地服务器设置为将“phd”作为演示文稿的有效URI。我不需要处理内部/本地url。只需尝试处理大多数主流、常见结构化的地址类型。