javascript - 从字符串中删除字符串,其中字符串的一部分可以是javascript中的数字

标签 javascript jquery string

我想从另一个字符串中删除一个字符串的一部分,其中我要删除的部分包含数字。

字符串是我的网址,我要删除的部分是页面和页码 例如。

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/

相关文章:

javascript - 单击按钮时增加一个数字

javascript - Knockout.js 按钮仅在 observableArray 的最大索引上可见

javascript - setInterval运行非常慢

jquery - jqGrid 寻呼机文本框大小

c++ - 如何只计算字符串中的整数

javascript - fingerprintjs 未在 chrome 扩展中加载

javascript - 自动完成/组件的动态图像

javascript - 如何用div做一个移动循环

java - IntelliJ 说\b(退格键)是字符串文字中的非法转义序列。为什么?

javascript - 如何用模式分割字符串而不丢失任何文本?