我有一个字符串,可能包含几个URL链接(http或https).我需要一个脚本,它将完全从字符串中删除所有这些URL,并返回没有它们的相同字符串.
我到目前为止尝试过:
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);
Run Code Online (Sandbox Code Playgroud)
但这只会删除http部分并保留链接.
如何编写正确的正则表达式,它将删除http后面的所有内容,并检测字符串中的几个链接?
非常感谢!
anu*_*ava 27
你可以使用这个正则表达式:
var b = url.replace(/(?:https?|ftp):\/\/[\n\S]+/g, '');
//=> and I said
Run Code Online (Sandbox Code Playgroud)
此正则表达式匹配,并删除开头的任何URL http://或https://或ftp://与相匹配下一个空格字符的输入端.[\n\S]+也将匹配多行.