我想从另一个字符串中删除一个字符串的一部分,其中我要删除的部分包含数字。
字符串是我的网址,我要删除的部分是页面和页码 例如。
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 这样的静态数字,我希望它适用于任何数字
最佳答案
使用正则表达式\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'));
关于javascript - 从字符串中删除字符串,其中字符串的一部分可以是javascript中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47702579/