我有一个像dog=1,cat=2,horse=3
这样的JavaScript字符串。名称和值可以是任何东西。我想从字符串中删除dog以及与之关联的任何值。所以在这个例子中,我最终会得到cat=2,horse=3
。字符串中可能没有狗的条目,它可以是字符串中的任何位置,例如cat=22,dog=17,horse=3
cat=22,horse=3
最终为{{1}}。
名称和值只是字母数字,没有特殊字符,如引号和等号。
在JavaScript中进行此操作的最佳方法是什么?
答案 0 :(得分:3)
最简单的解决方案:
str.split(",").filter(function(kv) {
return kv.slice(0, 4) != "dog=";
}.join(",")
你也可以做一些正则表达式魔术,但这不会那么明确(并且可维护):
str.replace(.replace(/(,|^)dog=[^,]*/g, "").replace(/^,/,"")
答案 1 :(得分:1)
你可以这样做,虽然可能不是最好的方法: