使用Javascript删除字符串中的所有URL

使用Javascript删除字符串中的所有URL,javascript,node.js,twitter,Javascript,Node.js,Twitter,如何使用Javascript删除字符串中的所有URL,而不管它们出现在何处 例如,对于下面的tweet- "...Ready For It?" (@BloodPop ® Remix) out now - https://example.com/rsKdAQzd2q 我想回去 "...Ready For It?" (@BloodPop ® Remix) out now - 如果您的URL不包含文本空白,则可以使用正则表达式从http(带有可选的s)匹配到下一个空白或字符串结尾: var

如何使用Javascript删除字符串中的所有URL,而不管它们出现在何处

例如,对于下面的tweet-

"...Ready For It?" (@BloodPop ® Remix) out now -  https://example.com/rsKdAQzd2q
我想回去

"...Ready For It?" (@BloodPop ® Remix) out now - 

如果您的URL不包含文本空白,则可以使用正则表达式从http(带有可选的s)匹配到下一个空白或字符串结尾:

var str=“…准备好了吗?”(@BloodPop®混音)现在退出-https://example.com/rsKdAQzd2q';
str=str.replace(/https?*?(?=|$)/g,“”;

console.log(str);
首先,您可以用空格分隔它

var givenText = '...Ready For It?" https://example2.com/rsKdAQzd2q (@BloodPop ® Remix) out now -  https://example.com/rsKdAQzd2q'
var allWords = givenText.split(' ');
然后,您可以使用自己的实现过滤出非url单词来检查url,为了简单起见,这里我们可以检查索引:/

    var allNonUrls = allWords.filter(function(s){ return 
      s.indexOf('://')===-1 // you can call custom predicate here
  });
因此,您的非URL字符串将是:

var outputText = allNonUrls.join(' ');
// "...Ready For It?" (@BloodPop ® Remix) out now - "

您可以在字符串上使用正则表达式替换来完成此操作,但是,找到一个好的表达式来匹配所有URL是一件棘手的事情。但是:

str = str.replace(regex, '');
要使用的正确正则表达式一直是许多StackOverflow问题的主题,这取决于您是否只需要匹配http://xxx.yyy.zzz或更通用的模式,如www.xxx.yyy


有关要使用的正则表达式模式,请参见此问题:

要从字符串中删除所有URL,可以使用正则表达式标识字符串中的所有URL,然后使用
string.prototype.replace
将所有URL替换为空字符

这是可用于匹配所有URL的

(2)以下两种(a-a-z[a-z[a-z[[a-z[[a-z0-10-9%[a-z0-10-9-9%[a-a-z[a-z[a-z[a-a-z[a-z[a-z[a-a-z[a-a-z[[[[[w-[w-[[[[w-[[[[w-[5]]]以下以下以下以下以下以下以下以下两部分部分部分部分部分)))))的)及//b(b(b(2.10.2.5)及/////////////////b(a-a-a-a-a-a-a-a-a-z[[[a-z[[[a-z[[[[a-z[a-z[[[[[[[[[[[a-z[a-z[[[[[[[[{};:“,«»””)/g
function removeUrl(input) {
            let regex = /http[%\?#\[\]@!\$&'\(\)\*\+,;=:~_\.-:\/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789]*/; 
            let result = input.replace(regex, '');
            return result;
}

let result = removeUrl('abc http://helloWorld" sdfsewr');