ASP.NET从字符串中删除URL(正则表达式)

时间:2017-03-30 11:13:50

标签: asp.net regex string vb.net url

已在此处检查:C# Remove URL from Stringhere以及此处Remove URLs from text string

我尝试了上一篇文章中的正则表达式:
Regex.Replace(txt, "!\b(((ht|f)tp(s?))\://)?(www.|[a-z].)[a-z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk)(\:[0-9]+)*(/($|[a-z0-9\.\,\;\?\\'\\\\\+&%\$#\=~_\-]+))*\b!i", "")

我还尝试了正则表达式: ^(((ht|f)tp(s?))\://)?(www.|[a-zA-Z].)[a-zA-Z0-9\-\.]+\.(com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk)(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\;\?\'\\\+&%\$#\=~_\-]+))*$

但两者都不删除网址。

我想使用VB从字符串中删除所有URL。这些网址不在a标记中。

示例字符串:
This is https://www.example.com/an-example-url and http://www.example.com/and-some-friendlyurl?utm_campaign=test&id=4.<br/>.Themes.

期望的结果:
This is and .<br/>.Themes.

1 个答案:

答案 0 :(得分:1)

试试这个Regex ......

 (http|https):\/\/[\w\-_]+(\.[\w\-_]+)+[\w\-\.,@?^=%&amp;:\/~‌​\+#]*[\w\-\@?^=%&amp‌​;\/~\+#]

您可以将其与Replace结合使用,然后删除匹配项。如果您不希望删除匹配项,那么您也可以使用该匹配项的每个部分。

已经过测试,可以试用here