我想从另一个字符串中删除部分字符串,其中我要删除的部分中包含一个数字。
字符串是我的网址,我要删除的部分是页面和页码 离。
var url = www.mysite.com/?someparam=someparam&someparam=somparam&page=3
我想删除
&page=3
但页面可以是1,2,3,4等
我知道我可以通过字符串替换
来做到这一点var str = "mystring&page=1";
var res = str.replace("&page=1", "");
但这仅适用于静态数字,例如1,我希望它可以使用任何数字
答案 0 :(得分:4)
使用带\d+
的正则表达式匹配任意数量的一个或多个数字:
function removePage(url) {
return url.replace(/([?&])page=\d+(&?)/, function(p1, p2, p3) {
return p2 === '?' ? '?' : p3;
});
}
console.log(removePage('www.mysite.com/?someparam=someparam&someparam=somparam&page=6'));
console.log(removePage('www.mysite.com/?someparam=someparam&someparam=somparam&page=3&cats'));
console.log(removePage('www.mysite.com/?page=59&someparam=someparam&someparam=somparam'));