我的网址格式错误如下:http://www.abc.com/?abc&?as&?blah
现在,我希望匹配(并消除)除第一个之外的URL中的所有?
,以使URL清晰。是否可以在JavaScript中使用正则表达式?我尝试了积极的背后和其他方法,但它对我不起作用。
答案 0 :(得分:2)
也许不是最好的,但可能的解决方案:在第一个问号处将字符串剪成两半,使用正则表达式删除第二个字符串中的所有问号,将它们粘合在一起。
答案 1 :(得分:2)
var url = 'http://www.abc.com/?abc&?as&?blah';
var pos = url.search(/\?/) + 1;
var validUrl = url.substr( 0, pos )
+ url.slice( pos ).replace(/\?/g, '');
答案 2 :(得分:1)
试试这个,
var str = "http://www.abc.com/?abc&?as&?blah";
str = str.replace(/(http:\/\/[^\/]+\/\?[^\?]+)\?([^\?]+)\?([^\?]+)/,"$1$2$3");
中对其进行了测试