我有一个 JavaScript 字符串,例如 dog=1,cat=2,horse=3
。名称和值可以是任何内容。我想从字符串中删除狗以及与之相关的任何值。所以在这个例子中我最终会得到cat=2,horse=3
。字符串中可能没有狗的条目,它可以位于字符串中的任何位置,例如cat=22,dog=17,horse=3
最终结果为 cat=22,horse=3
。
名称和值只是字母数字,其中没有特殊字符,例如引号和等号。
在 JavaScript 中解决这个问题的最佳方法是什么?
最佳答案
最简单的解决方案:
str.split(",").filter(function(kv) {
return kv.slice(0, 4) != "dog=";
}.join(",")
您也可以执行一些正则表达式魔法,但这不会那么清晰(且可维护):
str.replace(.replace(/(,|^)dog=[^,]*/g, "").replace(/^,/,"")
关于javascript - 从 JavaScript 中的名称-值对字符串中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29282782/