我正在尝试更换类似'?order = height'我知道它可以像这样轻松完成:
data = 'height'
x = '?order=' + data
x.replace('?order=' + data, '')
但问题是问号有时可能是&符号。我真正希望的是,无论第一个字符是&符号还是问号,所以基本上是否为
?order=height
&order=height
可以成为空白字符串
答案 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"))