我需要的是能够匹配包含特殊符号(除了?,!和。)和URL的单词的内容。 这就是我已经拥有的东西,但它不起作用。
re = new RegExp('(http://\S+|\S*[^\w\s,.":]\S*)');
text = '@hello how are you? http://example.com';
clean = text.replace(re, '');
目前的输出是:
> 'hello how are you? http://example.com'
输出应为:
> ' how are you? '
答案 0 :(得分:1)
您需要在RE中使用global
text.replace(/(http:\/\/\S+|\S*[^\w\s,.":?]\S*)/g,'');
我还加了“?”到你的设置,因为它似乎你想要包括。
答案 1 :(得分:1)
re = /(http:\/\/\S+|\S*[^\w\s,\.\?":]\S*)/ig;
text = '@hello how are you? http://example.com';
clean = text.replace(re, '');
答案 2 :(得分:0)
我对Java知之甚少,在Java中我会这样做:
clean = input.replaceAll("(http://\\S+|\\S*[^\\w\\s\\?,.\"!:]\\S*)", "");
如果您不需要转义特殊字符,请删除反斜杠。
问候!