如何在Javascript中完全从字符串中删除URL

How to remove URL from a string completely in Javascript?

本文关键字:字符串 删除 URL Javascript      更新时间:2023-09-26

我有一个字符串,可能包含几个url链接(http或https)。我需要一个脚本,将删除所有这些url从字符串完全,并返回相同的字符串没有他们。

I tried so far:

 var url = "and I said http://fdsadfs.com/dasfsdadf/afsdasf.html";
 var protomatch = /(https?|ftp):'/'//; // NB: not '.*'
 var b = url.replace(protomatch, '');
 console.log(b);

,但这只删除了HTTP部分,并保留了链接。

如何写正确的正则表达式,它会删除http之后的一切,也检测在字符串中的几个链接?

非常感谢!

你可以使用这个正则表达式:

var b = url.replace(/(?:https?|ftp):'/'/['n'S]+/g, '');
//=> and I said 

这个正则表达式匹配并删除任何以http://https://ftp://开头的URL,并匹配到下一个空格字符或输入结束。['n'S]+也将匹配多行

您是否搜索了url解析器正则表达式?这个问题有几个全面的答案获取URL的部分(Regex)

也就是说,如果您想要更简单的东西(可能不那么完美),您应该记住捕获整个url字符串,而不仅仅是协议。

之类的 /(https?|ftp):'/'/['.[a-zA-Z0-9'/'-]+/ 应该会更好。请注意,添加的那一半代码将解析协议后面的URL的其余部分。