从JavaScript中的名称 - 值对字符串中删除值

时间:2015-03-26 15:40:53

标签: javascript

我有一个像dog=1,cat=2,horse=3这样的JavaScript字符串。名称和值可以是任何东西。我想从字符串中删除dog以及与之关联的任何值。所以在这个例子中,我最终会得到cat=2,horse=3。字符串中可能没有狗的条目,它可以是字符串中的任何位置,例如cat=22,dog=17,horse=3 cat=22,horse=3最终为{{1}}。

名称和值只是字母数字,没有特殊字符,如引号和等号。

在JavaScript中进行此操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

最简单的解决方案:

str.split(",").filter(function(kv) {
    return kv.slice(0, 4) != "dog=";
}.join(",")

你也可以做一些正则表达式魔术,但这不会那么明确(并且可维护):

str.replace(.replace(/(,|^)dog=[^,]*/g, "").replace(/^,/,"")

答案 1 :(得分:1)

你可以这样做,虽然可能不是最好的方法:

  1. 将字符串转换为数组,因为它是逗号分隔的。
  2. 从阵列中移除狗。
  3. 将数组作为字符串加回。