Javascript替换正则表达式任何字符

时间:2017-01-24 10:41:56

标签: javascript jquery

我正在尝试更换类似'?order = height'我知道它可以像这样轻松完成:

data = 'height'

x = '?order=' + data

x.replace('?order=' + data, '')

但问题是问号有时可能是&符号。我真正希望的是,无论第一个字符是&符号还是问号,所以基本上是否为

?order=height
&order=height

可以成为空白字符串

3 个答案:

答案 0 :(得分:3)

x.replace(/[&?]order=height/, '')

如果数据是字符串变量

x.replace(/[&?]order=([^&=]+)/, '')

答案 1 :(得分:2)

使用正则表达式.replace(/[?&]order=height/, '')

[?&]表示此列表中的任何字符。

/是开始和结束分隔符。

请注意,图案未包含在'"字符串中。

答案 2 :(得分:1)

这就是你如何做到的。使用

创建RegExp对象
"[&?]order=" + match

并替换为""使用String.prototype.replace



function replace(match, str) {
   regex = new RegExp("[&?]order=" + match,"g")
  return str.replace(regex, "")
}

console.log(replace("height", "Yo &order=height Yo"))
console.log(replace("weight", "Yo ?order=weight Yo"))
console.log(replace("age", "Yo ?order=age Yo"))